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