1 package org.objectweb.celtix.bus.configuration; 2 3 import java.util.HashMap ; 4 import java.util.Map ; 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 namespaceUri, String 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 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 <String , Configuration> instances = configurations.get(namespaceUri); 49 if (null == instances) { 50 instances = new HashMap <String , Configuration>(); 51 configurations.put(namespaceUri, instances); 52 } 53 instances.put(id, c); 54 } 55 return c; 56 } 57 } 58 | Popular Tags |