Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 27510 invoked from network); 8 Mar 2004 23:27:14 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 8 Mar 2004 23:27:14 -0000 Received: (qmail 78414 invoked by uid 500); 8 Mar 2004 23:26:57 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 78343 invoked by uid 500); 8 Mar 2004 23:26:57 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 78317 invoked by uid 500); 8 Mar 2004 23:26:56 -0000 Received: (qmail 78312 invoked from network); 8 Mar 2004 23:26:56 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 8 Mar 2004 23:26:56 -0000 Received: (qmail 27453 invoked by uid 1635); 8 Mar 2004 23:27:09 -0000 Date: 8 Mar 2004 23:27:09 -0000 Message-ID: <20040308232709.27452.qmail@minotaur.apache.org> From: epugh@apache.org To: jakarta-commons-cvs@apache.org Subject: cvs commit: jakarta-commons/configuration/src/test/org/apache/commons/configuration TestConfigurationXMLDocument.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N epugh 2004/03/08 15:27:09 Modified: configuration/src/java/org/apache/commons/configuration CompositeConfiguration.java ConfigurationFactory.java Added: configuration/src/java/org/apache/commons/configuration ConfigurationXMLDocument.java configuration/conf testConfigurationXMLDocument.xml testDigesterCreateObject.xml configuration/src/test/org/apache/commons/configuration TestConfigurationXMLDocument.java Log: Java classes and test data for Bug 26944 from Oliver Heger. Revision Changes Path 1.8 +6 -2 jakarta-commons/configuration/src/java/org/apache/commons/configuration/CompositeConfiguration.java Index: CompositeConfiguration.java =================================================================== RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/CompositeConfiguration.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- CompositeConfiguration.java 27 Feb 2004 17:41:35 -0000 1.7 +++ CompositeConfiguration.java 8 Mar 2004 23:27:09 -0000 1.8 @@ -258,6 +258,8 @@ { CompositeConfiguration subsetCompositeConfiguration = new CompositeConfiguration(); + Configuration subConf = null; + int count = 0; for (ListIterator i = configList.listIterator(); i.hasNext();) { Configuration config = (Configuration) i.next(); @@ -265,9 +267,11 @@ if (subset != null) { subsetCompositeConfiguration.addConfiguration(subset); + subConf = subset; + count++; } } - return subsetCompositeConfiguration; + return (count == 1) ? subConf : subsetCompositeConfiguration; } /** * Get a List of strings associated with the given configuration key. 1.9 +7 -20 jakarta-commons/configuration/src/java/org/apache/commons/configuration/ConfigurationFactory.java Index: ConfigurationFactory.java =================================================================== RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/ConfigurationFactory.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ConfigurationFactory.java 27 Feb 2004 17:41:35 -0000 1.8 +++ ConfigurationFactory.java 8 Mar 2004 23:27:09 -0000 1.9 @@ -154,7 +154,7 @@ { log.error("IO Exception caught", ioe); throw new ConfigurationException("IO Exception caught",ioe); - } + } return builder.getConfiguration(); } /** @@ -267,7 +267,7 @@ matchString + "hierarchicalDom4j", new BasePathConfigurationFactory(HierarchicalDOM4JConfiguration.class), METH_LOAD, - additional); + additional); setupDigesterInstance( digester, matchString + "jndi", @@ -391,17 +391,13 @@ /** * A base class for digester factory classes. This base class maintains - * a default class for the objects to be created. It also supports a - * className attribute for specifying a different class. + * a default class for the objects to be created. * There will be sub classes for specific configuration implementations. */ public class DigesterConfigurationFactory extends AbstractObjectCreationFactory implements ObjectCreationFactory { - /** Constant for the className attribute.*/ - protected static final String ATTR_CLASSNAME = "className"; - /** Actual class to use. */ private Class clazz; @@ -415,23 +411,14 @@ } /** - * Creates an instance of the specified class. If the passed in - * attributes contain a className attribute, the value of - * this attribute is interpreted as the full qualified class name of - * the class to be instantiated. Otherwise the default class is used. - * @param attribs the attributes + * Creates an instance of the specified class. + * @param attribs the attributes (ignored) * @return the new object * @exception Exception if object creation fails */ public Object createObject(Attributes attribs) throws Exception { - Class actCls; - - int idx = attribs.getIndex(ATTR_CLASSNAME); - actCls = (idx < 0) ? clazz : - Class.forName(attribs.getValue(idx)); - - return actCls.newInstance(); + return clazz.newInstance(); } } 1.3 +1 -1 jakarta-commons/configuration/src/java/org/apache/commons/configuration/ConfigurationXMLDocument.java 1.3 +0 -0 jakarta-commons/configuration/conf/testConfigurationXMLDocument.xml 1.3 +1 -1 jakarta-commons/configuration/conf/testDigesterCreateObject.xml 1.4 +8 -3 jakarta-commons/configuration/src/test/org/apache/commons/configuration/TestConfigurationXMLDocument.java --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org