View Javadoc

1   /*
2    * $Id: RmiNamespaceHandler.java 20321 2010-11-24 15:21:24Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.transport.rmi.config;
11  
12  import org.mule.api.config.MuleProperties;
13  import org.mule.config.spring.factories.InboundEndpointFactoryBean;
14  import org.mule.config.spring.factories.OutboundEndpointFactoryBean;
15  import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;
16  import org.mule.config.spring.parsers.specific.endpoint.TransportEndpointDefinitionParser;
17  import org.mule.config.spring.parsers.specific.endpoint.TransportGlobalEndpointDefinitionParser;
18  import org.mule.endpoint.URIBuilder;
19  import org.mule.transport.rmi.RmiConnector;
20  
21  /**
22   * Registers a Bean Definition Parser for handling <code>&lt;rmi:connector&gt;</code> elements.
23   *
24   */
25  public class RmiNamespaceHandler extends AbstractMuleNamespaceHandler
26  {
27  
28      public static final String OBJECT = "object";
29      public static final String[] PROPERTIES = new String[]{MuleProperties.MULE_METHOD_PROPERTY}; // , RmiConnector.PROPERTY_SERVICE_METHOD_PARAM_TYPES};
30      public static final String[] ADDRESS = new String[]{OBJECT, URIBuilder.HOST, URIBuilder.PORT};
31  
32      public void init()
33      {
34          registerMuleBeanDefinitionParser("endpoint", new TransportGlobalEndpointDefinitionParser(RmiConnector.RMI, TransportGlobalEndpointDefinitionParser.PROTOCOL, ADDRESS, PROPERTIES)).addAlias(OBJECT, URIBuilder.PATH);
35          registerMuleBeanDefinitionParser("inbound-endpoint", new TransportEndpointDefinitionParser(RmiConnector.RMI, TransportGlobalEndpointDefinitionParser.PROTOCOL, InboundEndpointFactoryBean.class, ADDRESS, PROPERTIES)).addAlias(OBJECT, URIBuilder.PATH);
36          registerMuleBeanDefinitionParser("outbound-endpoint", new TransportEndpointDefinitionParser(RmiConnector.RMI, TransportGlobalEndpointDefinitionParser.PROTOCOL, OutboundEndpointFactoryBean.class, ADDRESS, PROPERTIES)).addAlias(OBJECT, URIBuilder.PATH);
37          registerConnectorDefinitionParser(RmiConnector.class);
38      }
39  
40  }