1
2
3
4
5
6
7
8
9
10 package org.mule.model.resolvers;
11
12 import org.mule.api.MuleRuntimeException;
13 import org.mule.api.model.EntryPointResolver;
14 import org.mule.config.i18n.CoreMessages;
15 import org.mule.util.ClassUtils;
16
17
18
19
20
21
22
23 public class LegacyEntryPointResolverSet extends DefaultEntryPointResolverSet
24 {
25 private static final String ANNOTATED_ENTRYPOINT_RESOLVER_CLASS = "org.mule.impl.model.resolvers.AnnotatedEntryPointResolver";
26
27 public LegacyEntryPointResolverSet()
28 {
29 addAnnotatedEntryPointResolver();
30 addEntryPointResolver(new MethodHeaderPropertyEntryPointResolver());
31 addEntryPointResolver(new CallableEntryPointResolver());
32
33 ReflectionEntryPointResolver reflectionResolver = new ReflectionEntryPointResolver();
34
35 reflectionResolver.removeIgnoredMethod("set*");
36 addEntryPointResolver(reflectionResolver);
37 }
38
39 protected void addAnnotatedEntryPointResolver()
40 {
41
42
43
44 try
45 {
46 Class<? extends EntryPointResolver> annotatedEntrypointResolver =
47 ClassUtils.loadClass(ANNOTATED_ENTRYPOINT_RESOLVER_CLASS, getClass(), EntryPointResolver.class);
48 addEntryPointResolver(ClassUtils.instanciateClass(annotatedEntrypointResolver, ClassUtils.NO_ARGS));
49 }
50 catch (ClassNotFoundException e)
51 {
52 if(logger.isDebugEnabled())
53 {
54 logger.warn("Mule annotations module is not on your classpath, annotations cannot be used on components");
55 }
56 }
57 catch (Exception e)
58 {
59 throw new MuleRuntimeException(CoreMessages.cannotLoadFromClasspath(ANNOTATED_ENTRYPOINT_RESOLVER_CLASS));
60 }
61 }
62 }