KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > configuration > CeltixConfigurationBuilder


1 package org.objectweb.celtix.bus.configuration;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.Map JavaDoc;
5
6 import org.objectweb.celtix.common.i18n.Message;
7 import org.objectweb.celtix.configuration.Configuration;
8 import org.objectweb.celtix.configuration.ConfigurationException;
9 import org.objectweb.celtix.configuration.ConfigurationMetadata;
10 import org.objectweb.celtix.configuration.impl.ConfigurationBuilderImpl;
11
12 public class CeltixConfigurationBuilder extends ConfigurationBuilderImpl {
13
14     public CeltixConfigurationBuilder() {
15
16         addModel("config-metadata/bus-config.xml");
17         addModel("config-metadata/endpoint-config.xml");
18         addModel("config-metadata/http-client-config.xml");
19         addModel("config-metadata/http-listener-config.xml");
20         addModel("config-metadata/http-server-config.xml");
21         addModel("config-metadata/port-config.xml");
22         addModel("config-metadata/jms-client-config.xml");
23         addModel("config-metadata/jms-server-config.xml");
24         addModel("config-metadata/rm-config.xml");
25         addModel("config-metadata/wsa-config.xml");
26         addModel("config-metadata/instrumentation-config.xml");
27     }
28
29     public Configuration buildConfiguration(String JavaDoc namespaceUri, String JavaDoc id, Configuration parent) {
30         ConfigurationMetadata model = getModel(namespaceUri);
31         if (null == model) {
32             throw new ConfigurationException(new Message("UNKNOWN_NAMESPACE_EXC", BUNDLE, namespaceUri));
33         }
34         /*
35         if (parent != null && !isValidChildConfiguration(model, parent)) {
36             throw new ConfigurationException(new Message("INVALID_CHILD_CONFIGURATION",
37                                                          BUNDLE, namespaceUri,
38                                                          parent.getModel().getNamespaceURI()));
39         }
40         */

41         if (parent == null && !isValidTopConfiguration(model, parent)) {
42             throw new ConfigurationException(new Message("INVALID_TOP_CONFIGURATION",
43                                                          BUNDLE, namespaceUri));
44         }
45
46         Configuration c = new CeltixConfigurationImpl(model, id, parent);
47         if (null == parent) {
48             Map JavaDoc<String JavaDoc, Configuration> instances = configurations.get(namespaceUri);
49             if (null == instances) {
50                 instances = new HashMap JavaDoc<String JavaDoc, Configuration>();
51                 configurations.put(namespaceUri, instances);
52             }
53             instances.put(id, c);
54         }
55         return c;
56     }
57 }
58
Popular Tags