User: salborini
Date: 00/10/25 16:04:16
Modified: src/main/org/jboss/metadata ApplicationMetaData.java
ConfigurationMetaData.java
Log:
Allow jboss.xml to modify a configuration defined in standardjboss.xml
Revision Changes Path
1.8 +20 -15 jboss/src/main/org/jboss/metadata/ApplicationMetaData.java
Index: ApplicationMetaData.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/ApplicationMetaData.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ApplicationMetaData.java 2000/09/09 02:46:21 1.7
+++ ApplicationMetaData.java 2000/10/25 23:04:15 1.8
@@ -25,7 +25,7 @@
*
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class ApplicationMetaData extends MetaData {
// Constants -----------------------------------------------------
@@ -35,7 +35,7 @@
private ArrayList beans = new ArrayList();
private ArrayList securityRoles = new ArrayList();
- private ArrayList configurations = new ArrayList();
+ private HashMap configurations = new HashMap();
private HashMap resources = new HashMap();
private HashMap plugins = new HashMap();
@@ -70,17 +70,11 @@
}
public Iterator getConfigurations() {
- return configurations.iterator();
+ return configurations.values().iterator();
}
public ConfigurationMetaData getConfigurationMetaDataByName(String name) {
- Iterator iterator = getConfigurations();
- while (iterator.hasNext()) {
- ConfigurationMetaData current = (ConfigurationMetaData) iterator.next();
- if (current.getName().equals(name)) return current;
- }
- // not found
- return null;
+ return (ConfigurationMetaData)configurations.get(name);
}
public String getResourceByName(String name) {
@@ -237,17 +231,28 @@
// find the container configurations (we need them first to use them in the
beans)
Element confs = getOptionalChild(element, "container-configurations");
- if (confs != null) {
+ if (confs != null) {
iterator = getChildrenByTagName(confs, "container-configuration");
- while (iterator.hasNext()) {
+
+ while (iterator.hasNext()) {
Element conf = (Element)iterator.next();
- ConfigurationMetaData configurationMetaData = new ConfigurationMetaData();
- try {
+ String confName = getElementContent(getUniqueChild(conf,
"container-name"));
+
+ // find the configuration if it has already been defined
+ // (allow jboss.xml to modify a standard conf)
+ ConfigurationMetaData configurationMetaData =
getConfigurationMetaDataByName(confName);
+
+ // create it if necessary
+ if (configurationMetaData == null) {
+ configurationMetaData = new ConfigurationMetaData(confName);
+ configurations.put(confName, configurationMetaData);
+ }
+
+ try {
configurationMetaData.importJbossXml(conf);
} catch (DeploymentException e) {
throw new DeploymentException("Error in jboss.xml for
container-configuration " + configurationMetaData.getName() + ": " + e.getMessage());
}
- configurations.add(configurationMetaData);
}
}
1.5 +8 -7 jboss/src/main/org/jboss/metadata/ConfigurationMetaData.java
Index: ConfigurationMetaData.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/metadata/ConfigurationMetaData.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ConfigurationMetaData.java 2000/10/14 15:03:13 1.4
+++ ConfigurationMetaData.java 2000/10/25 23:04:15 1.5
@@ -15,7 +15,7 @@
*
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class ConfigurationMetaData extends MetaData {
@@ -56,7 +56,8 @@
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- public ConfigurationMetaData () {
+ public ConfigurationMetaData (String name) {
+ this.name = name;
}
// Public --------------------------------------------------------
@@ -87,15 +88,15 @@
public void importJbossXml(Element element) throws DeploymentException {
-
- // set the configuration name
- name = getElementContent(getUniqueChild(element, "container-name"));
+
+ // everything is optional to allow jboss.xml to modify part of a
configuration
+ // defined in standardjboss.xml
// set call logging
- callLogging =
Boolean.valueOf(getElementContent(getUniqueChild(element,
"call-logging"))).booleanValue();
+ callLogging =
Boolean.valueOf(getElementContent(getOptionalChild(element,
"call-logging"))).booleanValue();
// set the container invoker
- containerInvoker = getElementContent(getUniqueChild(element,
"container-invoker"));
+ containerInvoker = getElementContent(getOptionalChild(element,
"container-invoker"));
// set the instance pool
instancePool = getElementContent(getOptionalChild(element,
"instance-pool"));