1
2
3
4
5
6
7
8
9
10
11 package org.mule.context;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.config.ConfigurationBuilder;
15 import org.mule.api.config.ConfigurationException;
16 import org.mule.api.config.MuleConfiguration;
17 import org.mule.api.context.MuleContextBuilder;
18 import org.mule.api.context.MuleContextFactory;
19 import org.mule.api.lifecycle.InitialisationException;
20 import org.mule.config.DefaultMuleConfiguration;
21 import org.mule.config.builders.AutoConfigurationBuilder;
22 import org.mule.config.builders.DefaultsConfigurationBuilder;
23 import org.mule.config.builders.SimpleConfigurationBuilder;
24
25 import java.util.List;
26 import java.util.Properties;
27
28 import org.apache.commons.logging.Log;
29 import org.apache.commons.logging.LogFactory;
30
31
32
33
34
35 public class DefaultMuleContextFactory implements MuleContextFactory
36 {
37 protected static final Log logger = LogFactory.getLog(DefaultMuleContextBuilder.class);
38
39
40
41
42 public MuleContext createMuleContext() throws InitialisationException, ConfigurationException
43 {
44
45 return createMuleContext(new DefaultsConfigurationBuilder(), new DefaultMuleContextBuilder());
46 }
47
48
49
50
51 public MuleContext createMuleContext(ConfigurationBuilder configurationBuilder)
52 throws InitialisationException, ConfigurationException
53 {
54
55 return createMuleContext(configurationBuilder, new DefaultMuleContextBuilder());
56 }
57
58
59
60
61 public MuleContext createMuleContext(MuleContextBuilder muleContextBuilder)
62 throws InitialisationException, ConfigurationException
63 {
64
65 return createMuleContext(new DefaultsConfigurationBuilder(), muleContextBuilder);
66 }
67
68
69
70
71 public MuleContext createMuleContext(List<ConfigurationBuilder> configurationBuilders,
72 MuleContextBuilder muleContextBuilder) throws InitialisationException, ConfigurationException
73 {
74
75 MuleContext muleContext = doCreateMuleContext(muleContextBuilder);
76
77
78 for (ConfigurationBuilder configBuilder : configurationBuilders)
79 {
80 configBuilder.configure(muleContext);
81 }
82
83 return muleContext;
84 }
85
86
87
88
89 public MuleContext createMuleContext(ConfigurationBuilder configurationBuilder,
90 MuleContextBuilder muleContextBuilder)
91 throws InitialisationException, ConfigurationException
92 {
93
94 MuleContext muleContext = doCreateMuleContext(muleContextBuilder);
95
96
97 configurationBuilder.configure(muleContext);
98
99 return muleContext;
100 }
101
102
103
104
105
106
107
108
109
110
111
112
113
114 public MuleContext createMuleContext(String resource)
115 throws InitialisationException, ConfigurationException
116 {
117 return createMuleContext(resource, null);
118 }
119
120
121
122
123
124
125
126
127
128 public MuleContext createMuleContext(String configResources, Properties properties)
129 throws InitialisationException, ConfigurationException
130 {
131
132 MuleContext muleContext = doCreateMuleContext(new DefaultMuleContextBuilder());
133
134
135 if (properties != null && !properties.isEmpty())
136 {
137 new SimpleConfigurationBuilder(properties).configure(muleContext);
138 }
139
140
141
142 new AutoConfigurationBuilder(configResources).configure(muleContext);
143
144 return muleContext;
145 }
146
147
148
149
150
151
152 public MuleContext createMuleContext(ConfigurationBuilder configurationBuilder, Properties properties)
153 throws InitialisationException, ConfigurationException
154 {
155 return createMuleContext(configurationBuilder, properties, new DefaultMuleConfiguration());
156 }
157
158
159
160
161
162
163 public MuleContext createMuleContext(ConfigurationBuilder configurationBuilder,
164 Properties properties,
165 MuleConfiguration configuration)
166 throws InitialisationException, ConfigurationException
167 {
168
169 DefaultMuleContextBuilder contextBuilder = new DefaultMuleContextBuilder();
170 contextBuilder.setMuleConfiguration(configuration);
171 MuleContext muleContext = doCreateMuleContext(contextBuilder);
172
173
174 if (properties != null && !properties.isEmpty())
175 {
176 new SimpleConfigurationBuilder(properties).configure(muleContext);
177 }
178
179
180 configurationBuilder.configure(muleContext);
181
182 return muleContext;
183 }
184
185 protected MuleContext doCreateMuleContext(MuleContextBuilder muleContextBuilder)
186 throws InitialisationException
187 {
188
189 MuleContext muleContext = buildMuleContext(muleContextBuilder);
190
191
192 muleContext.initialise();
193
194 return muleContext;
195 }
196
197 protected MuleContext buildMuleContext(MuleContextBuilder muleContextBuilder)
198 {
199 return muleContextBuilder.buildMuleContext();
200 }
201 }