You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ep...@apache.org on 2004/03/09 00:27:09 UTC

cvs commit: jakarta-commons/configuration/src/test/org/apache/commons/configuration TestConfigurationXMLDocument.java

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
  -     * <code>className</code> 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 <code>className</code> 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