public Configuration getConfiguration(String namespaceUri, String id) { Map<String, Configuration> instances = configurations.get(namespaceUri); if (null == instances) { if (null == getModel(namespaceUri)) { throw new ConfigurationException(new Message("UNKNOWN_NAMESPACE_EXC", BUNDLE, namespaceUri)); } return null; } return instances.get(id); }
public Configuration getConfiguration(String namespaceUri, String id, Configuration parent) { if (parent == null) { return null; } Configuration c = parent.getChild(namespaceUri, id); if (null == c && null == getModel(namespaceUri)) { throw new ConfigurationException(new Message("UNKNOWN_NAMESPACE_EXC", BUNDLE, namespaceUri)); } return c; }
public Configuration buildConfiguration(String namespaceUri, String id, Configuration parent) { ConfigurationMetadata model = getModel(namespaceUri); if (null == model) { throw new ConfigurationException(new Message("UNKNOWN_NAMESPACE_EXC", BUNDLE, namespaceUri)); } /* if (parent != null && !isValidChildConfiguration(model, parent)) { throw new ConfigurationException(new Message("INVALID_CHILD_CONFIGURATION", BUNDLE, namespaceUri, parent.getModel().getNamespaceURI())); } */ if (parent == null && !isValidTopConfiguration(model, parent)) { throw new ConfigurationException(new Message("INVALID_TOP_CONFIGURATION", BUNDLE, namespaceUri)); } Configuration c = new AbstractConfigurationImpl(model, id, parent); if (null == parent) { Map<String, Configuration> instances = configurations.get(namespaceUri); if (null == instances) { instances = new HashMap<String, Configuration>(); configurations.put(namespaceUri, instances); } instances.put(id, c); } return c; }