1
2
3
4
5
6
7 package org.mule.transport.ajax.config;
8
9 import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;
10 import org.mule.config.spring.parsers.MuleDefinitionParserConfiguration;
11 import org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser;
12 import org.mule.config.spring.parsers.specific.endpoint.TransportEndpointDefinitionParser;
13 import org.mule.config.spring.parsers.specific.endpoint.TransportGlobalEndpointDefinitionParser;
14 import org.mule.config.spring.parsers.specific.endpoint.support.AddressedEndpointDefinitionParser;
15 import org.mule.config.spring.parsers.specific.tls.ClientKeyStoreDefinitionParser;
16 import org.mule.config.spring.parsers.specific.tls.KeyStoreDefinitionParser;
17 import org.mule.config.spring.parsers.specific.tls.ProtocolHandlerDefinitionParser;
18 import org.mule.config.spring.parsers.specific.tls.TrustStoreDefinitionParser;
19 import org.mule.endpoint.URIBuilder;
20 import org.mule.transport.ajax.container.AjaxServletConnector;
21 import org.mule.transport.ajax.embedded.AjaxConnector;
22
23
24
25
26
27 public class AjaxNamespaceHandler extends AbstractMuleNamespaceHandler
28 {
29
30 public void init()
31 {
32
33 MuleDefinitionParserConfiguration mdp = registerStandardTransportEndpoints(AjaxConnector.PROTOCOL, new String[]{"channel"});
34 mdp.addAlias(AjaxConnector.CHANNEL_PROPERTY, URIBuilder.PATH);
35 registerConnectorDefinitionParser(AjaxConnector.class);
36
37
38 registerBeanDefinitionParser("key-store", new KeyStoreDefinitionParser());
39 registerBeanDefinitionParser("client", new ClientKeyStoreDefinitionParser());
40 registerBeanDefinitionParser("server", new TrustStoreDefinitionParser());
41 registerBeanDefinitionParser("protocol-handler", new ProtocolHandlerDefinitionParser());
42
43
44 registerBeanDefinitionParser("servlet-connector", new MuleOrphanDefinitionParser(AjaxServletConnector.class, true));
45 registerBeanDefinitionParser("servlet-endpoint", createServletGlobalEndpointParser(getGlobalEndpointBuilderBeanClass()));
46 registerBeanDefinitionParser("servlet-inbound-endpoint", createServletEndpointParser(getInboundEndpointFactoryBeanClass()));
47 registerBeanDefinitionParser("servlet-outbound-endpoint", createServletEndpointParser(getOutboundEndpointFactoryBeanClass()));
48 }
49
50
51 protected AddressedEndpointDefinitionParser createServletEndpointParser(Class factoryBean)
52 {
53 AddressedEndpointDefinitionParser parser = new TransportEndpointDefinitionParser(AjaxServletConnector.PROTOCOL, false, factoryBean, new String[]{"channel"}, new String[]{});
54 parser.addAlias(AjaxConnector.CHANNEL_PROPERTY, URIBuilder.PATH);
55 return parser;
56 }
57
58 protected AddressedEndpointDefinitionParser createServletGlobalEndpointParser(Class factoryBean)
59 {
60 AddressedEndpointDefinitionParser parser = new TransportGlobalEndpointDefinitionParser(AjaxServletConnector.PROTOCOL, false, factoryBean, new String[]{"channel"}, new String[]{});
61 parser.addAlias(AjaxConnector.CHANNEL_PROPERTY, URIBuilder.PATH);
62 return parser;
63 }
64
65 }