Coverage Report - org.mule.config.spring.handlers.MuleNamespaceHandler
 
Classes in this File Line Coverage Branch Coverage Complexity
MuleNamespaceHandler
0%
0/217
N/A
1
 
 1  
 /*
 2  
  * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 3  
  * The software in this package is published under the terms of the CPAL v1.0
 4  
  * license, a copy of which has been included with this distribution in the
 5  
  * LICENSE.txt file.
 6  
  */
 7  
 package org.mule.config.spring.handlers;
 8  
 
 9  
 import org.mule.RouteableExceptionStrategy;
 10  
 import org.mule.api.config.MuleProperties;
 11  
 import org.mule.api.processor.LoggerMessageProcessor;
 12  
 import org.mule.cache.CachingMessageProcessor;
 13  
 import org.mule.cache.ObjectStoreCachingStrategy;
 14  
 import org.mule.component.DefaultInterfaceBinding;
 15  
 import org.mule.component.DefaultJavaComponent;
 16  
 import org.mule.component.PooledJavaComponent;
 17  
 import org.mule.component.SimpleCallableJavaComponent;
 18  
 import org.mule.component.simple.EchoComponent;
 19  
 import org.mule.component.simple.LogComponent;
 20  
 import org.mule.component.simple.NullComponent;
 21  
 import org.mule.component.simple.PassThroughComponent;
 22  
 import org.mule.config.QueueProfile;
 23  
 import org.mule.config.spring.factories.AsyncMessageProcessorsFactoryBean;
 24  
 import org.mule.config.spring.factories.ChoiceRouterFactoryBean;
 25  
 import org.mule.config.spring.factories.CompositeMessageSourceFactoryBean;
 26  
 import org.mule.config.spring.factories.InboundEndpointFactoryBean;
 27  
 import org.mule.config.spring.factories.MessageProcessorFilterPairFactoryBean;
 28  
 import org.mule.config.spring.factories.OutboundEndpointFactoryBean;
 29  
 import org.mule.config.spring.factories.PollingMessageSourceFactoryBean;
 30  
 import org.mule.config.spring.factories.TransactionalMessageProcessorsFactoryBean;
 31  
 import org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser;
 32  
 import org.mule.config.spring.parsers.cache.CacheDefinitionParser;
 33  
 import org.mule.config.spring.parsers.cache.CachingStrategyDefinitionParser;
 34  
 import org.mule.config.spring.parsers.collection.ChildListDefinitionParser;
 35  
 import org.mule.config.spring.parsers.collection.ChildListEntryDefinitionParser;
 36  
 import org.mule.config.spring.parsers.collection.ChildMapDefinitionParser;
 37  
 import org.mule.config.spring.parsers.collection.ChildMapEntryDefinitionParser;
 38  
 import org.mule.config.spring.parsers.delegate.InheritDefinitionParser;
 39  
 import org.mule.config.spring.parsers.generic.ChildDefinitionParser;
 40  
 import org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser;
 41  
 import org.mule.config.spring.parsers.generic.NameTransferDefinitionParser;
 42  
 import org.mule.config.spring.parsers.generic.NamedDefinitionParser;
 43  
 import org.mule.config.spring.parsers.generic.OrphanDefinitionParser;
 44  
 import org.mule.config.spring.parsers.generic.ParentDefinitionParser;
 45  
 import org.mule.config.spring.parsers.processors.CheckExclusiveAttributes;
 46  
 import org.mule.config.spring.parsers.processors.CheckExclusiveAttributesAndChildren;
 47  
 import org.mule.config.spring.parsers.processors.CheckRequiredAttributesWhenNoChildren;
 48  
 import org.mule.config.spring.parsers.specific.AggregatorDefinitionParser;
 49  
 import org.mule.config.spring.parsers.specific.BindingDefinitionParser;
 50  
 import org.mule.config.spring.parsers.specific.BridgeDefinitionParser;
 51  
 import org.mule.config.spring.parsers.specific.ComponentDefinitionParser;
 52  
 import org.mule.config.spring.parsers.specific.ComponentDelegatingDefinitionParser;
 53  
 import org.mule.config.spring.parsers.specific.ConfigurationDefinitionParser;
 54  
 import org.mule.config.spring.parsers.specific.DefaultNameMuleOrphanDefinitionParser;
 55  
 import org.mule.config.spring.parsers.specific.DefaultThreadingProfileDefinitionParser;
 56  
 import org.mule.config.spring.parsers.specific.ExceptionTXFilterDefinitionParser;
 57  
 import org.mule.config.spring.parsers.specific.ExpressionTransformerDefinitionParser;
 58  
 import org.mule.config.spring.parsers.specific.FilterDefinitionParser;
 59  
 import org.mule.config.spring.parsers.specific.FilterRefDefinitionParser;
 60  
 import org.mule.config.spring.parsers.specific.FlowDefinitionParser;
 61  
 import org.mule.config.spring.parsers.specific.FlowRefDefinitionParser;
 62  
 import org.mule.config.spring.parsers.specific.GlobalPropertyDefinitionParser;
 63  
 import org.mule.config.spring.parsers.specific.IgnoreObjectMethodsDefinitionParser;
 64  
 import org.mule.config.spring.parsers.specific.InboundRouterDefinitionParser;
 65  
 import org.mule.config.spring.parsers.specific.InterceptorDefinitionParser;
 66  
 import org.mule.config.spring.parsers.specific.InterceptorStackDefinitionParser;
 67  
 import org.mule.config.spring.parsers.specific.MessageEnricherDefinitionParser;
 68  
 import org.mule.config.spring.parsers.specific.MessageFilterDefinitionParser;
 69  
 import org.mule.config.spring.parsers.specific.MessageProcessorChainDefinitionParser;
 70  
 import org.mule.config.spring.parsers.specific.MessageProcessorDefinitionParser;
 71  
 import org.mule.config.spring.parsers.specific.MessagePropertiesTransformerDefinitionParser;
 72  
 import org.mule.config.spring.parsers.specific.ModelDefinitionParser;
 73  
 import org.mule.config.spring.parsers.specific.NotificationDefinitionParser;
 74  
 import org.mule.config.spring.parsers.specific.NotificationDisableDefinitionParser;
 75  
 import org.mule.config.spring.parsers.specific.ObjectFactoryDefinitionParser;
 76  
 import org.mule.config.spring.parsers.specific.PoolingProfileDefinitionParser;
 77  
 import org.mule.config.spring.parsers.specific.RegExFilterDefinitionParser;
 78  
 import org.mule.config.spring.parsers.specific.ResponseDefinitionParser;
 79  
 import org.mule.config.spring.parsers.specific.RouterDefinitionParser;
 80  
 import org.mule.config.spring.parsers.specific.SecurityFilterDefinitionParser;
 81  
 import org.mule.config.spring.parsers.specific.ServiceDefinitionParser;
 82  
 import org.mule.config.spring.parsers.specific.ServiceOverridesDefinitionParser;
 83  
 import org.mule.config.spring.parsers.specific.SimpleComponentDefinitionParser;
 84  
 import org.mule.config.spring.parsers.specific.SimpleServiceDefinitionParser;
 85  
 import org.mule.config.spring.parsers.specific.SplitterDefinitionParser;
 86  
 import org.mule.config.spring.parsers.specific.StaticComponentDefinitionParser;
 87  
 import org.mule.config.spring.parsers.specific.ThreadingProfileDefinitionParser;
 88  
 import org.mule.config.spring.parsers.specific.TransactionDefinitionParser;
 89  
 import org.mule.config.spring.parsers.specific.TransactionManagerDefinitionParser;
 90  
 import org.mule.config.spring.parsers.specific.ValidatorDefinitionParser;
 91  
 import org.mule.config.spring.parsers.specific.endpoint.EndpointRefParser;
 92  
 import org.mule.config.spring.parsers.specific.endpoint.support.ChildEndpointDefinitionParser;
 93  
 import org.mule.config.spring.parsers.specific.endpoint.support.OrphanEndpointDefinitionParser;
 94  
 import org.mule.config.spring.util.SpringBeanLookup;
 95  
 import org.mule.context.notification.ListenerSubscriptionPair;
 96  
 import org.mule.endpoint.EndpointURIEndpointBuilder;
 97  
 import org.mule.enricher.MessageEnricher;
 98  
 import org.mule.enricher.MessageEnricher.EnrichExpressionPair;
 99  
 import org.mule.exception.DefaultServiceExceptionStrategy;
 100  
 import org.mule.expression.ExpressionConfig;
 101  
 import org.mule.expression.transformers.BeanBuilderTransformer;
 102  
 import org.mule.expression.transformers.ExpressionArgument;
 103  
 import org.mule.expression.transformers.ExpressionTransformer;
 104  
 import org.mule.interceptor.LoggingInterceptor;
 105  
 import org.mule.interceptor.TimerInterceptor;
 106  
 import org.mule.model.resolvers.ArrayEntryPointResolver;
 107  
 import org.mule.model.resolvers.CallableEntryPointResolver;
 108  
 import org.mule.model.resolvers.DefaultEntryPointResolverSet;
 109  
 import org.mule.model.resolvers.ExplicitMethodEntryPointResolver;
 110  
 import org.mule.model.resolvers.LegacyEntryPointResolverSet;
 111  
 import org.mule.model.resolvers.MethodHeaderPropertyEntryPointResolver;
 112  
 import org.mule.model.resolvers.NoArgumentsEntryPointResolver;
 113  
 import org.mule.model.resolvers.ReflectionEntryPointResolver;
 114  
 import org.mule.model.seda.SedaModel;
 115  
 import org.mule.model.seda.SedaService;
 116  
 import org.mule.object.PrototypeObjectFactory;
 117  
 import org.mule.object.SingletonObjectFactory;
 118  
 import org.mule.processor.InvokerMessageProcessor;
 119  
 import org.mule.processor.NullMessageProcessor;
 120  
 import org.mule.routing.CollectionSplitter;
 121  
 import org.mule.routing.ExpressionMessageInfoMapping;
 122  
 import org.mule.routing.ExpressionSplitter;
 123  
 import org.mule.routing.FirstSuccessful;
 124  
 import org.mule.routing.ForwardingCatchAllStrategy;
 125  
 import org.mule.routing.IdempotentMessageFilter;
 126  
 import org.mule.routing.IdempotentSecureHashMessageFilter;
 127  
 import org.mule.routing.LoggingCatchAllStrategy;
 128  
 import org.mule.routing.MapSplitter;
 129  
 import org.mule.routing.MessageChunkAggregator;
 130  
 import org.mule.routing.MessageChunkSplitter;
 131  
 import org.mule.routing.MessageFilter;
 132  
 import org.mule.routing.Resequencer;
 133  
 import org.mule.routing.RoundRobin;
 134  
 import org.mule.routing.SimpleCollectionAggregator;
 135  
 import org.mule.routing.WireTap;
 136  
 import org.mule.routing.filters.EqualsFilter;
 137  
 import org.mule.routing.filters.ExceptionTypeFilter;
 138  
 import org.mule.routing.filters.ExpressionFilter;
 139  
 import org.mule.routing.filters.MessagePropertyFilter;
 140  
 import org.mule.routing.filters.PayloadTypeFilter;
 141  
 import org.mule.routing.filters.WildcardFilter;
 142  
 import org.mule.routing.filters.logic.AndFilter;
 143  
 import org.mule.routing.filters.logic.NotFilter;
 144  
 import org.mule.routing.filters.logic.OrFilter;
 145  
 import org.mule.routing.outbound.ChainingRouter;
 146  
 import org.mule.routing.outbound.DefaultOutboundRouterCollection;
 147  
 import org.mule.routing.outbound.EndpointSelector;
 148  
 import org.mule.routing.outbound.ExceptionBasedRouter;
 149  
 import org.mule.routing.outbound.ExpressionMessageSplitter;
 150  
 import org.mule.routing.outbound.ExpressionRecipientList;
 151  
 import org.mule.routing.outbound.FilteringOutboundRouter;
 152  
 import org.mule.routing.outbound.ListMessageSplitter;
 153  
 import org.mule.routing.outbound.MessageChunkingRouter;
 154  
 import org.mule.routing.outbound.MulticastingRouter;
 155  
 import org.mule.routing.outbound.OutboundPassThroughRouter;
 156  
 import org.mule.routing.outbound.SequenceRouter;
 157  
 import org.mule.routing.outbound.StaticRecipientList;
 158  
 import org.mule.routing.requestreply.SimpleAsyncRequestReplyRequester;
 159  
 import org.mule.security.PasswordBasedEncryptionStrategy;
 160  
 import org.mule.security.SecretKeyEncryptionStrategy;
 161  
 import org.mule.security.UsernamePasswordAuthenticationFilter;
 162  
 import org.mule.security.filters.MuleEncryptionEndpointSecurityFilter;
 163  
 import org.mule.service.ForwardingConsumer;
 164  
 import org.mule.service.ServiceAsyncReplyCompositeMessageSource;
 165  
 import org.mule.service.ServiceCompositeMessageSource;
 166  
 import org.mule.transaction.XaTransactionFactory;
 167  
 import org.mule.transaction.lookup.GenericTransactionManagerLookupFactory;
 168  
 import org.mule.transaction.lookup.JBossTransactionManagerLookupFactory;
 169  
 import org.mule.transaction.lookup.JRunTransactionManagerLookupFactory;
 170  
 import org.mule.transaction.lookup.Resin3TransactionManagerLookupFactory;
 171  
 import org.mule.transaction.lookup.WeblogicTransactionManagerLookupFactory;
 172  
 import org.mule.transaction.lookup.WebsphereTransactionManagerLookupFactory;
 173  
 import org.mule.transformer.codec.Base64Decoder;
 174  
 import org.mule.transformer.codec.Base64Encoder;
 175  
 import org.mule.transformer.codec.XmlEntityDecoder;
 176  
 import org.mule.transformer.codec.XmlEntityEncoder;
 177  
 import org.mule.transformer.compression.GZipCompressTransformer;
 178  
 import org.mule.transformer.compression.GZipUncompressTransformer;
 179  
 import org.mule.transformer.encryption.DecryptionTransformer;
 180  
 import org.mule.transformer.encryption.EncryptionTransformer;
 181  
 import org.mule.transformer.simple.AutoTransformer;
 182  
 import org.mule.transformer.simple.BeanToMap;
 183  
 import org.mule.transformer.simple.ByteArrayToHexString;
 184  
 import org.mule.transformer.simple.ByteArrayToObject;
 185  
 import org.mule.transformer.simple.ByteArrayToSerializable;
 186  
 import org.mule.transformer.simple.CombineCollectionsTransformer;
 187  
 import org.mule.transformer.simple.HexStringToByteArray;
 188  
 import org.mule.transformer.simple.MapToBean;
 189  
 import org.mule.transformer.simple.ObjectToByteArray;
 190  
 import org.mule.transformer.simple.ObjectToString;
 191  
 import org.mule.transformer.simple.SerializableToByteArray;
 192  
 import org.mule.transformer.simple.StringAppendTransformer;
 193  
 import org.mule.util.store.InMemoryObjectStore;
 194  
 import org.mule.util.store.TextFileObjectStore;
 195  
 
 196  
 /**
 197  
  * This is the core namespace handler for Mule and configures all Mule configuration elements under the
 198  
  * <code>http://www.mulesoft.org/schema/mule/core/${version}</code> Namespace.
 199  
  */
 200  0
 public class MuleNamespaceHandler extends AbstractMuleNamespaceHandler
 201  
 {
 202  
 
 203  
     public void init()
 204  
     {
 205  0
         registerIgnoredElement("mule");
 206  0
         registerIgnoredElement("description");
 207  
 
 208  
         //Common elements
 209  0
         registerBeanDefinitionParser("configuration", new ConfigurationDefinitionParser());
 210  0
         registerBeanDefinitionParser("global-property", new GlobalPropertyDefinitionParser());
 211  0
         registerBeanDefinitionParser("default-threading-profile", new DefaultThreadingProfileDefinitionParser(MuleProperties.OBJECT_DEFAULT_THREADING_PROFILE));
 212  0
         registerBeanDefinitionParser("default-dispatcher-threading-profile", new DefaultThreadingProfileDefinitionParser(MuleProperties.OBJECT_DEFAULT_MESSAGE_DISPATCHER_THREADING_PROFILE));
 213  0
         registerBeanDefinitionParser("default-receiver-threading-profile", new DefaultThreadingProfileDefinitionParser(MuleProperties.OBJECT_DEFAULT_MESSAGE_RECEIVER_THREADING_PROFILE));
 214  0
         registerBeanDefinitionParser("default-service-threading-profile", new DefaultThreadingProfileDefinitionParser(MuleProperties.OBJECT_DEFAULT_SERVICE_THREADING_PROFILE));
 215  0
         registerBeanDefinitionParser("threading-profile", new ThreadingProfileDefinitionParser("threadingProfile", MuleProperties.OBJECT_DEFAULT_SERVICE_THREADING_PROFILE));
 216  0
         registerBeanDefinitionParser("custom-exception-strategy", new ChildDefinitionParser("exceptionListener", null));
 217  0
         registerBeanDefinitionParser("default-exception-strategy", new ChildDefinitionParser("exceptionListener", DefaultServiceExceptionStrategy.class));
 218  0
         registerDeprecatedBeanDefinitionParser("default-service-exception-strategy", new ChildDefinitionParser("exceptionListener", DefaultServiceExceptionStrategy.class), "Use default-exception-strategy instead.");
 219  0
         registerBeanDefinitionParser("commit-transaction", new ExceptionTXFilterDefinitionParser("commitTxFilter"));
 220  0
         registerBeanDefinitionParser("rollback-transaction", new ExceptionTXFilterDefinitionParser("rollbackTxFilter"));
 221  0
         registerBeanDefinitionParser("custom-agent", new DefaultNameMuleOrphanDefinitionParser());
 222  
 
 223  0
         registerBeanDefinitionParser("routeable-exception-strategy", new ChildDefinitionParser("exceptionListener", RouteableExceptionStrategy.class));
 224  0
         registerBeanDefinitionParser("pooling-profile", new PoolingProfileDefinitionParser());
 225  0
         registerBeanDefinitionParser("queue-profile", new ChildDefinitionParser("queueProfile", QueueProfile.class));
 226  0
         registerMuleBeanDefinitionParser("notifications", new NamedDefinitionParser(MuleProperties.OBJECT_NOTIFICATION_MANAGER)).addAlias("dynamic", "notificationDynamic");
 227  0
         registerBeanDefinitionParser("notification", new NotificationDefinitionParser());
 228  0
         registerBeanDefinitionParser("disable-notification", new NotificationDisableDefinitionParser());
 229  0
         registerMuleBeanDefinitionParser("notification-listener", new ChildDefinitionParser("allListenerSubscriptionPair", ListenerSubscriptionPair.class)).addAlias("ref", "listener").addReference("listener");
 230  
 
 231  
         //Connector elements
 232  0
         registerBeanDefinitionParser("dispatcher-threading-profile", new ThreadingProfileDefinitionParser("dispatcherThreadingProfile", MuleProperties.OBJECT_DEFAULT_MESSAGE_DISPATCHER_THREADING_PROFILE));
 233  0
         registerBeanDefinitionParser("receiver-threading-profile", new ThreadingProfileDefinitionParser("receiverThreadingProfile", MuleProperties.OBJECT_DEFAULT_MESSAGE_RECEIVER_THREADING_PROFILE));
 234  0
         registerBeanDefinitionParser("service-overrides", new ServiceOverridesDefinitionParser());
 235  0
         registerBeanDefinitionParser("custom-connector", new MuleOrphanDefinitionParser(true));
 236  
 
 237  
         //Transformer elements
 238  
 
 239  0
         registerMuleBeanDefinitionParser("transformer", new ParentDefinitionParser()).addAlias(AbstractMuleBeanDefinitionParser.ATTRIBUTE_REF, "messageProcessor");
 240  
 
 241  0
         registerBeanDefinitionParser("custom-transformer", new MessageProcessorDefinitionParser());
 242  0
         registerBeanDefinitionParser("auto-transformer", new MessageProcessorDefinitionParser(AutoTransformer.class));
 243  0
         registerBeanDefinitionParser("message-properties-transformer", new MessagePropertiesTransformerDefinitionParser());
 244  
 
 245  0
         registerMuleBeanDefinitionParser("expression-transformer", new ExpressionTransformerDefinitionParser(
 246  
             ExpressionTransformer.class));
 247  
 
 248  0
         registerBeanDefinitionParser("return-argument", new ChildDefinitionParser("argument", ExpressionArgument.class));
 249  
 
 250  0
         registerBeanDefinitionParser("bean-builder-transformer", new MessageProcessorDefinitionParser(BeanBuilderTransformer.class));
 251  
 
 252  0
         final ChildDefinitionParser beanPropertyParser = new ChildDefinitionParser("argument", ExpressionArgument.class);
 253  0
         beanPropertyParser.addAlias("property-name", "name");
 254  0
         registerBeanDefinitionParser("bean-property", beanPropertyParser);
 255  
 
 256  0
         registerBeanDefinitionParser("base64-encoder-transformer", new MessageProcessorDefinitionParser(Base64Encoder.class));
 257  0
         registerBeanDefinitionParser("base64-decoder-transformer", new MessageProcessorDefinitionParser(Base64Decoder.class));
 258  
 
 259  0
         registerBeanDefinitionParser("xml-entity-encoder-transformer", new MessageProcessorDefinitionParser(XmlEntityEncoder.class));
 260  0
         registerBeanDefinitionParser("xml-entity-decoder-transformer", new MessageProcessorDefinitionParser(XmlEntityDecoder.class));
 261  0
         registerBeanDefinitionParser("gzip-compress-transformer", new MessageProcessorDefinitionParser(GZipCompressTransformer.class));
 262  0
         registerBeanDefinitionParser("gzip-uncompress-transformer", new MessageProcessorDefinitionParser(GZipUncompressTransformer.class));
 263  0
         registerBeanDefinitionParser("encrypt-transformer", new MessageProcessorDefinitionParser(EncryptionTransformer.class));
 264  0
         registerBeanDefinitionParser("decrypt-transformer", new MessageProcessorDefinitionParser(DecryptionTransformer.class));
 265  0
         registerBeanDefinitionParser("byte-array-to-hex-string-transformer", new MessageProcessorDefinitionParser(ByteArrayToHexString.class));
 266  0
         registerBeanDefinitionParser("hex-string-to-byte-array-transformer", new MessageProcessorDefinitionParser(HexStringToByteArray.class));
 267  
 
 268  0
         registerBeanDefinitionParser("byte-array-to-object-transformer", new MessageProcessorDefinitionParser(ByteArrayToObject.class));
 269  0
         registerBeanDefinitionParser("object-to-byte-array-transformer", new MessageProcessorDefinitionParser(ObjectToByteArray.class));
 270  0
         registerBeanDefinitionParser("object-to-string-transformer", new MessageProcessorDefinitionParser(ObjectToString.class));
 271  0
         registerBeanDefinitionParser("byte-array-to-serializable-transformer", new MessageProcessorDefinitionParser(ByteArrayToSerializable.class));
 272  0
         registerBeanDefinitionParser("serializable-to-byte-array-transformer", new MessageProcessorDefinitionParser(SerializableToByteArray.class));
 273  0
         registerBeanDefinitionParser("byte-array-to-string-transformer", new MessageProcessorDefinitionParser(ObjectToString.class));
 274  0
         registerBeanDefinitionParser("string-to-byte-array-transformer", new MessageProcessorDefinitionParser(ObjectToByteArray.class));
 275  
 
 276  0
         registerBeanDefinitionParser("append-string-transformer", new MessageProcessorDefinitionParser(StringAppendTransformer.class));
 277  
 
 278  0
         registerBeanDefinitionParser("map-to-bean-transformer", new MessageProcessorDefinitionParser(MapToBean.class));
 279  0
         registerBeanDefinitionParser("bean-to-map-transformer", new MessageProcessorDefinitionParser(BeanToMap.class));
 280  
 
 281  0
         registerBeanDefinitionParser("combine-collections-transformer", new MessageProcessorDefinitionParser(CombineCollectionsTransformer.class));
 282  
         
 283  
         //Transaction Managers
 284  0
         registerBeanDefinitionParser("custom-transaction-manager", new TransactionManagerDefinitionParser());
 285  0
         registerBeanDefinitionParser("jndi-transaction-manager", new TransactionManagerDefinitionParser(GenericTransactionManagerLookupFactory.class));
 286  0
         registerBeanDefinitionParser("weblogic-transaction-manager", new TransactionManagerDefinitionParser(WeblogicTransactionManagerLookupFactory.class));
 287  0
         registerBeanDefinitionParser("jboss-transaction-manager", new TransactionManagerDefinitionParser(JBossTransactionManagerLookupFactory.class));
 288  0
         registerBeanDefinitionParser("jrun-transaction-manager", new TransactionManagerDefinitionParser(JRunTransactionManagerLookupFactory.class));
 289  0
         registerBeanDefinitionParser("resin-transaction-manager", new TransactionManagerDefinitionParser(Resin3TransactionManagerLookupFactory.class));
 290  0
         registerBeanDefinitionParser("websphere-transaction-manager", new TransactionManagerDefinitionParser(WebsphereTransactionManagerLookupFactory.class));
 291  
 
 292  
         //Endpoint elements
 293  0
         registerBeanDefinitionParser("endpoint", new OrphanEndpointDefinitionParser(EndpointURIEndpointBuilder.class));
 294  0
         registerBeanDefinitionParser("inbound-endpoint", new ChildEndpointDefinitionParser(InboundEndpointFactoryBean.class));
 295  0
         registerBeanDefinitionParser("poll", new ChildEndpointDefinitionParser(PollingMessageSourceFactoryBean.class));
 296  0
         registerBeanDefinitionParser("outbound-endpoint", new ChildEndpointDefinitionParser(OutboundEndpointFactoryBean.class));
 297  0
         registerBeanDefinitionParser("custom-transaction", new TransactionDefinitionParser());
 298  0
         registerBeanDefinitionParser("xa-transaction", new TransactionDefinitionParser(XaTransactionFactory.class));
 299  
 
 300  
         // Message Processors
 301  0
         registerMuleBeanDefinitionParser("processor", new ParentDefinitionParser()).addAlias(AbstractMuleBeanDefinitionParser.ATTRIBUTE_REF, "messageProcessor");
 302  0
         registerMuleBeanDefinitionParser("custom-processor", new MessageProcessorDefinitionParser()).addIgnored("name");
 303  0
         registerBeanDefinitionParser("processor-chain", new MessageProcessorChainDefinitionParser());
 304  0
         registerBeanDefinitionParser("response", new ResponseDefinitionParser());
 305  0
         registerMuleBeanDefinitionParser("message-filter", new MessageFilterDefinitionParser());
 306  0
         registerMuleBeanDefinitionParser("invoke",
 307  
             new MessageProcessorDefinitionParser(InvokerMessageProcessor.class)).addAlias("method",
 308  
             "methodName").addAlias("methodArguments", "argumentExpressionsString").addAlias(
 309  
             "methodArgumentTypes", "ArgumentTypes");
 310  0
         registerMuleBeanDefinitionParser("enricher",
 311  
             new MessageEnricherDefinitionParser("messageProcessor", MessageEnricher.class)).addIgnored(
 312  
             "source")
 313  
             .addIgnored("target")
 314  
             .registerPreProcessor(
 315  
                 new CheckExclusiveAttributesAndChildren(new String[]{"source", "target"},
 316  
                     new String[]{"enrich"}))
 317  
             .registerPreProcessor(
 318  
                 new CheckRequiredAttributesWhenNoChildren(new String[][]{new String[]{"target"}}, "enrich"))
 319  
             .addCollection("enrichExpressionPairs");
 320  0
         registerMuleBeanDefinitionParser("enrich", new ChildDefinitionParser("enrichExpressionPair",
 321  
             EnrichExpressionPair.class));
 322  
 
 323  0
         registerBeanDefinitionParser("async", new ChildDefinitionParser("messageProcessor",
 324  
             AsyncMessageProcessorsFactoryBean.class));
 325  0
         registerBeanDefinitionParser("transactional", new ChildDefinitionParser("messageProcessor",
 326  
             TransactionalMessageProcessorsFactoryBean.class));
 327  0
         registerMuleBeanDefinitionParser("logger", new ChildDefinitionParser("messageProcessor",
 328  
             LoggerMessageProcessor.class));
 329  
 
 330  
         // Message Sources
 331  
         // TODO MULE-4987
 332  
         // registerBeanDefinitionParser("custom-source", new ChildDefinitionParser("messageSource", null, MessageSource.class));
 333  0
         registerBeanDefinitionParser("composite-source", new ChildDefinitionParser("messageSource", CompositeMessageSourceFactoryBean.class));
 334  
 
 335  
         // Models
 336  0
         registerBeanDefinitionParser("model", new ModelDefinitionParser());
 337  0
         registerBeanDefinitionParser("seda-model", new InheritDefinitionParser(new OrphanDefinitionParser(SedaModel.class, true), new NamedDefinitionParser()));
 338  
 
 339  0
         registerBeanDefinitionParser("entry-point-resolver-set", new ChildDefinitionParser("entryPointResolverSet", DefaultEntryPointResolverSet.class));
 340  0
         registerBeanDefinitionParser("legacy-entry-point-resolver-set", new ChildDefinitionParser("entryPointResolverSet", LegacyEntryPointResolverSet.class));
 341  0
         registerBeanDefinitionParser("custom-entry-point-resolver-set", new ChildDefinitionParser("entryPointResolverSet"));
 342  
 
 343  0
         registerBeanDefinitionParser("custom-entry-point-resolver", new ChildDefinitionParser("entryPointResolver"));
 344  0
         registerBeanDefinitionParser("callable-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", CallableEntryPointResolver.class));
 345  0
         registerMuleBeanDefinitionParser("property-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", MethodHeaderPropertyEntryPointResolver.class)).addAlias("property", "methodProperty");
 346  0
         registerBeanDefinitionParser("method-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", ExplicitMethodEntryPointResolver.class));
 347  0
         registerBeanDefinitionParser("reflection-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", ReflectionEntryPointResolver.class));
 348  0
         registerBeanDefinitionParser("no-arguments-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", NoArgumentsEntryPointResolver.class));
 349  0
         registerBeanDefinitionParser("array-entry-point-resolver", new ChildDefinitionParser("entryPointResolver", ArrayEntryPointResolver.class));
 350  0
         registerMuleBeanDefinitionParser("include-entry-point", new ParentDefinitionParser());
 351  0
         registerMuleBeanDefinitionParser("exclude-entry-point", new ParentDefinitionParser()).addAlias("method", "ignoredMethod");
 352  0
         registerMuleBeanDefinitionParser("exclude-object-methods", new IgnoreObjectMethodsDefinitionParser());
 353  
 
 354  
         // Services
 355  0
         registerBeanDefinitionParser("seda-service", new ServiceDefinitionParser(SedaService.class));
 356  0
         registerBeanDefinitionParser("service", new ServiceDefinitionParser(SedaService.class));
 357  0
         registerBeanDefinitionParser("custom-service", new ServiceDefinitionParser());
 358  
 
 359  
         // Flow Constructs
 360  0
         registerBeanDefinitionParser("flow", new FlowDefinitionParser());
 361  0
         registerBeanDefinitionParser("simple-service", new SimpleServiceDefinitionParser());
 362  0
         registerBeanDefinitionParser("bridge", new BridgeDefinitionParser());
 363  0
         registerBeanDefinitionParser("validator", new ValidatorDefinitionParser());
 364  
 
 365  0
         registerBeanDefinitionParser("flow-ref", new FlowRefDefinitionParser());
 366  
 
 367  
         // Components
 368  0
         registerBeanDefinitionParser("component", new ComponentDelegatingDefinitionParser(DefaultJavaComponent.class));
 369  0
         registerBeanDefinitionParser("pooled-component", new ComponentDelegatingDefinitionParser(PooledJavaComponent.class));
 370  
 
 371  0
         registerMuleBeanDefinitionParser("binding", new BindingDefinitionParser("interfaceBinding", DefaultInterfaceBinding.class));
 372  
 
 373  
         // Simple Components
 374  0
         registerBeanDefinitionParser("pass-through-component", new ComponentDefinitionParser(PassThroughComponent.class));
 375  0
         registerBeanDefinitionParser("log-component", new SimpleComponentDefinitionParser(SimpleCallableJavaComponent.class, LogComponent.class));
 376  0
         registerBeanDefinitionParser("null-component", new SimpleComponentDefinitionParser(SimpleCallableJavaComponent.class, NullComponent.class));
 377  0
         registerBeanDefinitionParser("static-component", new StaticComponentDefinitionParser());
 378  0
         registerIgnoredElement("return-data"); // Handled by StaticComponentDefinitionParser
 379  
 
 380  
         // We need to use DefaultJavaComponent for the echo component because some tests invoke EchoComponent with method name and therefore we need an entry point resolver
 381  0
         registerBeanDefinitionParser("echo-component", new SimpleComponentDefinitionParser(DefaultJavaComponent.class, EchoComponent.class));
 382  
 
 383  
         // Object Factories
 384  0
         registerBeanDefinitionParser("singleton-object", new ObjectFactoryDefinitionParser(SingletonObjectFactory.class, "objectFactory"));
 385  0
         registerBeanDefinitionParser("prototype-object", new ObjectFactoryDefinitionParser(PrototypeObjectFactory.class, "objectFactory"));
 386  0
         registerBeanDefinitionParser("spring-object", new ObjectFactoryDefinitionParser(SpringBeanLookup.class, "objectFactory"));
 387  
 
 388  
         // Life-cycle Adapters Factories
 389  0
         registerBeanDefinitionParser("custom-lifecycle-adapter-factory", new ChildDefinitionParser("lifecycleAdapterFactory"));
 390  
 
 391  
         //Stores
 392  0
         registerBeanDefinitionParser("in-memory-store", new ChildDefinitionParser("store", InMemoryObjectStore.class));
 393  0
         registerBeanDefinitionParser("simple-text-file-store", new ChildDefinitionParser("store", TextFileObjectStore.class));
 394  
 
 395  
         //Routers
 396  0
         registerBeanDefinitionParser("inbound", new ChildDefinitionParser("messageSource", ServiceCompositeMessageSource.class, true));
 397  0
         registerBeanDefinitionParser("outbound", new ChildDefinitionParser("outboundMessageProcessor", DefaultOutboundRouterCollection.class, true));
 398  0
         registerBeanDefinitionParser("async-reply", new ChildDefinitionParser("asyncReplyMessageSource", ServiceAsyncReplyCompositeMessageSource.class, true));
 399  
 
 400  
         //Inbound Routers
 401  0
         registerBeanDefinitionParser("forwarding-router", new InboundRouterDefinitionParser(ForwardingConsumer.class));
 402  0
         registerBeanDefinitionParser("idempotent-receiver-router", new InboundRouterDefinitionParser(IdempotentMessageFilter.class));
 403  0
         registerBeanDefinitionParser("idempotent-secure-hash-receiver-router", new InboundRouterDefinitionParser(IdempotentSecureHashMessageFilter.class));
 404  0
         registerBeanDefinitionParser("selective-consumer-router", new InboundRouterDefinitionParser(MessageFilter.class));
 405  0
         registerBeanDefinitionParser("wire-tap-router", new InboundRouterDefinitionParser(WireTap.class));
 406  0
         registerBeanDefinitionParser("custom-correlation-aggregator-router", new InboundRouterDefinitionParser());
 407  0
         registerBeanDefinitionParser("collection-aggregator-router", new InboundRouterDefinitionParser(SimpleCollectionAggregator.class));
 408  0
         registerBeanDefinitionParser("message-chunking-aggregator-router", new InboundRouterDefinitionParser(MessageChunkAggregator.class));
 409  0
         registerBeanDefinitionParser("correlation-resequencer-router", new InboundRouterDefinitionParser(Resequencer.class));
 410  0
         registerBeanDefinitionParser("custom-inbound-router", new InboundRouterDefinitionParser(null));
 411  
 
 412  
         //Outbound Routers
 413  0
         registerBeanDefinitionParser("pass-through-router", new RouterDefinitionParser(OutboundPassThroughRouter.class));
 414  0
         registerBeanDefinitionParser("filtering-router", new RouterDefinitionParser(FilteringOutboundRouter.class));
 415  0
         registerBeanDefinitionParser("chaining-router", new RouterDefinitionParser(ChainingRouter.class));
 416  0
         registerBeanDefinitionParser("endpoint-selector-router", new RouterDefinitionParser(EndpointSelector.class));
 417  0
         registerBeanDefinitionParser("exception-based-router", new RouterDefinitionParser(ExceptionBasedRouter.class));
 418  0
         registerBeanDefinitionParser("recipient-list-exception-based-router", new RouterDefinitionParser(ExceptionBasedRouter.class));
 419  0
         registerBeanDefinitionParser("list-message-splitter-router", new RouterDefinitionParser(ListMessageSplitter.class));
 420  0
         registerBeanDefinitionParser("expression-splitter-router", new RouterDefinitionParser(ExpressionMessageSplitter.class));
 421  0
         registerBeanDefinitionParser("message-chunking-router", new RouterDefinitionParser(MessageChunkingRouter.class));
 422  0
         registerBeanDefinitionParser("multicasting-router", new RouterDefinitionParser(MulticastingRouter.class));
 423  0
         registerBeanDefinitionParser("static-recipient-list-router", new RouterDefinitionParser(StaticRecipientList.class));
 424  0
         registerBeanDefinitionParser("expression-recipient-list-router", new RouterDefinitionParser(ExpressionRecipientList.class));
 425  0
         registerBeanDefinitionParser("recipients", new ChildListDefinitionParser("recipients"));
 426  0
         registerBeanDefinitionParser("custom-outbound-router", new RouterDefinitionParser(null));
 427  0
         registerBeanDefinitionParser("reply-to", new EndpointRefParser("replyTo"));
 428  0
         registerBeanDefinitionParser("sequence-router", new RouterDefinitionParser(SequenceRouter.class));
 429  
 
 430  
         //Response Routers
 431  0
         registerBeanDefinitionParser("custom-async-reply-router", new InboundRouterDefinitionParser(null));
 432  0
         registerBeanDefinitionParser("single-async-reply-router", new InboundRouterDefinitionParser(NullMessageProcessor.class));
 433  0
         registerBeanDefinitionParser("collection-async-reply-router", new InboundRouterDefinitionParser(SimpleCollectionAggregator.class));
 434  
 
 435  
         // Routing: Intercepting Message Processors
 436  0
         registerBeanDefinitionParser("idempotent-message-filter", new InboundRouterDefinitionParser(IdempotentMessageFilter.class));
 437  0
         registerBeanDefinitionParser("idempotent-secure-hash-message-filter", new InboundRouterDefinitionParser(IdempotentSecureHashMessageFilter.class));
 438  0
         registerBeanDefinitionParser("wire-tap", new InboundRouterDefinitionParser(WireTap.class));
 439  0
         registerBeanDefinitionParser("custom-aggregator", new AggregatorDefinitionParser());
 440  0
         registerBeanDefinitionParser("collection-aggregator", new AggregatorDefinitionParser(SimpleCollectionAggregator.class));
 441  0
         registerBeanDefinitionParser("message-chunk-aggregator", new AggregatorDefinitionParser(MessageChunkAggregator.class));
 442  0
         registerBeanDefinitionParser("resequencer", new InboundRouterDefinitionParser(Resequencer.class));
 443  0
         registerBeanDefinitionParser("splitter", new SplitterDefinitionParser(ExpressionSplitter.class));
 444  0
         registerBeanDefinitionParser("collection-splitter", new SplitterDefinitionParser(CollectionSplitter.class));
 445  0
         registerBeanDefinitionParser("map-splitter", new SplitterDefinitionParser(MapSplitter.class));
 446  0
         registerBeanDefinitionParser("message-chunk-splitter", new SplitterDefinitionParser(MessageChunkSplitter.class));
 447  0
         registerBeanDefinitionParser("custom-splitter", new SplitterDefinitionParser());
 448  
 
 449  
         // Routing: Routing Message Processors
 450  
 
 451  
         // Routing: Conditional Routers
 452  0
         registerBeanDefinitionParser("choice", new ChildDefinitionParser("messageProcessor", ChoiceRouterFactoryBean.class));
 453  0
         registerBeanDefinitionParser("when", (ChildDefinitionParser)new ChildDefinitionParser("route", MessageProcessorFilterPairFactoryBean.class).registerPreProcessor(new CheckExclusiveAttributesAndChildren(new String[]{
 454  
             "expression"}, new String[]{"{http://www.mulesoft.org/schema/mule/core}abstractFilterType"})));
 455  0
         registerBeanDefinitionParser("otherwise", new ChildDefinitionParser("defaultRoute", MessageProcessorFilterPairFactoryBean.class));
 456  
 
 457  0
         registerBeanDefinitionParser("all", new ChildDefinitionParser("messageProcessor", MulticastingRouter.class));
 458  0
         registerBeanDefinitionParser("recipient-list", new ChildDefinitionParser("messageProcessor", ExpressionRecipientList.class));
 459  
 
 460  0
         registerBeanDefinitionParser("request-reply", new ChildDefinitionParser("messageProcessor", SimpleAsyncRequestReplyRequester.class));
 461  0
         registerBeanDefinitionParser("first-successful", new ChildDefinitionParser("messageProcessor", FirstSuccessful.class));
 462  0
         registerBeanDefinitionParser("round-robin", new ChildDefinitionParser("messageProcessor", RoundRobin.class));
 463  
 
 464  0
         registerBeanDefinitionParser("custom-router", new ChildDefinitionParser("messageProcessor"));
 465  
 
 466  
         //Message Info Mappings
 467  0
         registerBeanDefinitionParser("expression-message-info-mapping", new ChildDefinitionParser("messageInfoMapping", ExpressionMessageInfoMapping.class));
 468  0
         registerBeanDefinitionParser("custom-message-info-mapping", new ChildDefinitionParser("messageInfoMapping"));
 469  
 
 470  
         //Catch all Strategies
 471  0
         registerBeanDefinitionParser("logging-catch-all-strategy", new ChildDefinitionParser("catchAllStrategy", LoggingCatchAllStrategy.class));
 472  0
         registerBeanDefinitionParser("custom-catch-all-strategy", new ChildDefinitionParser("catchAllStrategy", null));
 473  0
         registerBeanDefinitionParser("forwarding-catch-all-strategy", new ChildDefinitionParser("catchAllStrategy", ForwardingCatchAllStrategy.class));
 474  0
         registerBeanDefinitionParser("custom-forwarding-catch-all-strategy", new ChildDefinitionParser("catchAllStrategy", null));
 475  
 
 476  
         //Common Filters
 477  0
         registerMuleBeanDefinitionParser("filter", new FilterRefDefinitionParser());
 478  0
         registerBeanDefinitionParser("and-filter", new FilterDefinitionParser(AndFilter.class));
 479  0
         registerBeanDefinitionParser("or-filter", new FilterDefinitionParser(OrFilter.class));
 480  0
         registerBeanDefinitionParser("not-filter", new FilterDefinitionParser(NotFilter.class));
 481  0
         registerBeanDefinitionParser("regex-filter", new RegExFilterDefinitionParser());
 482  0
         registerBeanDefinitionParser("exception-type-filter", new FilterDefinitionParser(ExceptionTypeFilter.class));
 483  0
         registerBeanDefinitionParser("message-property-filter", new FilterDefinitionParser(MessagePropertyFilter.class));
 484  0
         registerBeanDefinitionParser("payload-type-filter", new FilterDefinitionParser(PayloadTypeFilter.class));
 485  0
         registerBeanDefinitionParser("wildcard-filter", new FilterDefinitionParser(WildcardFilter.class));
 486  0
         registerBeanDefinitionParser("equals-filter", new FilterDefinitionParser(EqualsFilter.class));
 487  0
         registerBeanDefinitionParser("expression-filter", new FilterDefinitionParser(ExpressionFilter.class));
 488  0
         registerBeanDefinitionParser("custom-filter", new FilterDefinitionParser());
 489  
 
 490  
         //Utils / Standard Types
 491  0
         registerMuleBeanDefinitionParser("properties", new ChildMapDefinitionParser("properties")).addCollection("properties");
 492  0
         registerMuleBeanDefinitionParser("property", new ChildMapEntryDefinitionParser("properties")).addCollection("properties");
 493  0
         registerMuleBeanDefinitionParser("add-message-properties", new ChildMapDefinitionParser("addProperties")).addCollection("addProperties");
 494  0
         registerMuleBeanDefinitionParser("add-message-property", new ChildMapEntryDefinitionParser("addProperties")).addCollection("addProperties");
 495  0
         registerMuleBeanDefinitionParser("rename-message-property", new ChildMapEntryDefinitionParser("renameProperties")).addCollection("renameProperties");
 496  0
         registerBeanDefinitionParser("delete-message-property", new ChildListEntryDefinitionParser("deleteProperties", ChildMapEntryDefinitionParser.KEY));
 497  0
         registerMuleBeanDefinitionParser("jndi-provider-properties", new ChildMapDefinitionParser("jndiProviderProperties")).addCollection("jndiProviderProperties");
 498  0
         registerMuleBeanDefinitionParser("jndi-provider-property", new ChildMapEntryDefinitionParser("jndiProviderProperties")).addCollection("jndiProviderProperties");
 499  0
         registerBeanDefinitionParser("environment", new ChildMapDefinitionParser("environment"));
 500  0
         registerBeanDefinitionParser("expression", new ChildDefinitionParser("expression", ExpressionConfig.class));
 501  
 
 502  
         //Security
 503  0
         registerMuleBeanDefinitionParser("security-manager", new NamedDefinitionParser(MuleProperties.OBJECT_SECURITY_MANAGER)).addIgnored("type").addIgnored("name");
 504  0
         registerBeanDefinitionParser("custom-security-provider", new NameTransferDefinitionParser("providers"));
 505  0
         registerMuleBeanDefinitionParser("custom-encryption-strategy", new NameTransferDefinitionParser("encryptionStrategies")).addAlias("strategy", "encryptionStrategy");
 506  0
         registerBeanDefinitionParser("password-encryption-strategy", new ChildDefinitionParser("encryptionStrategy", PasswordBasedEncryptionStrategy.class));
 507  0
         registerMuleBeanDefinitionParser("secret-key-encryption-strategy", new ChildDefinitionParser("encryptionStrategy", SecretKeyEncryptionStrategy.class)).registerPreProcessor(new CheckExclusiveAttributes(new String[][]{new String[]{"key"}, new String[]{"keyFactory-ref"}}));
 508  0
         registerBeanDefinitionParser("encryption-security-filter", new SecurityFilterDefinitionParser(MuleEncryptionEndpointSecurityFilter.class));
 509  0
         registerBeanDefinitionParser("custom-security-filter", new SecurityFilterDefinitionParser());
 510  0
         registerBeanDefinitionParser("username-password-filter", new SecurityFilterDefinitionParser(UsernamePasswordAuthenticationFilter.class));
 511  
 
 512  
         //Interceptors
 513  0
         registerMuleBeanDefinitionParser("interceptor-stack", new InterceptorStackDefinitionParser());
 514  0
         registerBeanDefinitionParser("custom-interceptor", new InterceptorDefinitionParser());
 515  0
         registerBeanDefinitionParser("timer-interceptor", new InterceptorDefinitionParser(TimerInterceptor.class));
 516  0
         registerBeanDefinitionParser("logging-interceptor", new InterceptorDefinitionParser(LoggingInterceptor.class));
 517  
 
 518  
         // Cache
 519  0
         registerBeanDefinitionParser("caching-strategy", new CachingStrategyDefinitionParser(ObjectStoreCachingStrategy.class, true));
 520  0
         registerBeanDefinitionParser("cache", new CacheDefinitionParser("messageProcessor", CachingMessageProcessor.class));
 521  0
     }
 522  
 
 523  
 }