1
2
3
4
5
6
7
8
9
10 package org.mule.transport.http.config;
11
12
13
14 import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;
15 import org.mule.config.spring.parsers.collection.ChildListEntryDefinitionParser;
16 import org.mule.config.spring.parsers.collection.ChildMapEntryDefinitionParser;
17 import org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser;
18 import org.mule.config.spring.parsers.generic.ParentDefinitionParser;
19 import org.mule.config.spring.parsers.specific.ComponentDefinitionParser;
20 import org.mule.config.spring.parsers.specific.FilterDefinitionParser;
21 import org.mule.config.spring.parsers.specific.MessageProcessorDefinitionParser;
22 import org.mule.endpoint.URIBuilder;
23 import org.mule.transport.http.HttpConnector;
24 import org.mule.transport.http.HttpConstants;
25 import org.mule.transport.http.HttpPollingConnector;
26 import org.mule.transport.http.components.RestServiceWrapper;
27 import org.mule.transport.http.filters.HttpRequestWildcardFilter;
28 import org.mule.transport.http.transformers.HttpClientMethodResponseToObject;
29 import org.mule.transport.http.transformers.HttpRequestBodyToParamMap;
30 import org.mule.transport.http.transformers.HttpResponseToString;
31 import org.mule.transport.http.transformers.MuleMessageToHttpResponse;
32 import org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest;
33
34
35
36
37 public class HttpNamespaceHandler extends AbstractMuleNamespaceHandler
38 {
39 public void init()
40 {
41 registerStandardTransportEndpoints(HttpConnector.HTTP, URIBuilder.SOCKET_ATTRIBUTES)
42 .addAlias("contentType", HttpConstants.HEADER_CONTENT_TYPE)
43 .addAlias("method", HttpConnector.HTTP_METHOD_PROPERTY);
44
45 registerConnectorDefinitionParser(HttpConnector.class);
46 registerBeanDefinitionParser("polling-connector", new MuleOrphanDefinitionParser(HttpPollingConnector.class, true));
47
48 registerBeanDefinitionParser("rest-service-component", new ComponentDefinitionParser(RestServiceWrapper.class));
49 registerBeanDefinitionParser("payloadParameterName", new ChildListEntryDefinitionParser("payloadParameterNames", ChildMapEntryDefinitionParser.VALUE));
50 registerBeanDefinitionParser("requiredParameter", new ChildMapEntryDefinitionParser("requiredParams"));
51 registerBeanDefinitionParser("optionalParameter", new ChildMapEntryDefinitionParser("optionalParams"));
52
53 registerBeanDefinitionParser("http-response-to-object-transformer", new MessageProcessorDefinitionParser(HttpClientMethodResponseToObject.class));
54 registerBeanDefinitionParser("http-response-to-string-transformer", new MessageProcessorDefinitionParser(HttpResponseToString.class));
55 registerBeanDefinitionParser("object-to-http-request-transformer", new MessageProcessorDefinitionParser(ObjectToHttpClientMethodRequest.class));
56 registerBeanDefinitionParser("message-to-http-response-transformer", new MessageProcessorDefinitionParser(MuleMessageToHttpResponse.class));
57 registerBeanDefinitionParser("body-to-parameter-map-transformer", new MessageProcessorDefinitionParser(HttpRequestBodyToParamMap.class));
58
59 registerBeanDefinitionParser("error-filter", new ParentDefinitionParser());
60 registerBeanDefinitionParser("request-wildcard-filter", new FilterDefinitionParser(HttpRequestWildcardFilter.class));
61 }
62 }