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/09/06 14:52:13 UTC

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

epugh       2004/09/06 05:52:13

  Modified:    configuration/xdocs changes.xml
               configuration/src/java/org/apache/commons/configuration/beanutils
                        ConfigurationDynaBean.java
               configuration/src/test/org/apache/commons/configuration/beanutils
                        TestConfigurationDynaBean.java
  Log:
  30655 Clarify for ConfigurationDynaBean that the get method should
  throw an illegalArgumentException if there is no property specified.
  
  Revision  Changes    Path
  1.39      +4 -0      jakarta-commons/configuration/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/configuration/xdocs/changes.xml,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- changes.xml	3 Sep 2004 16:36:21 -0000	1.38
  +++ changes.xml	6 Sep 2004 12:52:12 -0000	1.39
  @@ -7,6 +7,10 @@
   
     <body>
       <release version="1.0-rc2" date="in CVS">
  +      <action dev="epugh" type="fix" issue="30545" due-to="Ricardo Gladwell">
  +        Clarify for ConfigurationDynaBean that the get method should throw an illegalArgumentException
  +        if there is no property specified.
  +      </action>        
         <action dev="ebourg" type="fix" issue="30839">
           Fixed a ClassCastException when adding a non String property to an XMLConfiguration.
         </action>
  
  
  
  1.3       +2 -2      jakarta-commons/configuration/src/java/org/apache/commons/configuration/beanutils/ConfigurationDynaBean.java
  
  Index: ConfigurationDynaBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/beanutils/ConfigurationDynaBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ConfigurationDynaBean.java	12 Aug 2004 17:29:53 -0000	1.2
  +++ ConfigurationDynaBean.java	6 Sep 2004 12:52:12 -0000	1.3
  @@ -121,10 +121,10 @@
           if(log.isTraceEnabled()) log.trace("get("+name+")");
           // get configuration property
           Object result = configuration.getProperty(name);
  -        if(result == null && name != null) {
  +        if(result == null) {
               // otherwise attempt to create bean from configuration subset
               Configuration subset = configuration.subset(name);
  -            if(subset != null)
  +            if(!subset.isEmpty())
                   result = new ConfigurationDynaBean(configuration.subset(name));
           }
           if(log.isDebugEnabled()) log.debug(name+"=["+result+"]");
  
  
  
  1.2       +14 -1     jakarta-commons/configuration/src/test/org/apache/commons/configuration/beanutils/TestConfigurationDynaBean.java
  
  Index: TestConfigurationDynaBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/configuration/src/test/org/apache/commons/configuration/beanutils/TestConfigurationDynaBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestConfigurationDynaBean.java	12 Aug 2004 16:29:38 -0000	1.1
  +++ TestConfigurationDynaBean.java	6 Sep 2004 12:52:12 -0000	1.2
  @@ -797,6 +797,19 @@
           }
           fail("Should have thrown NullPointerException");
       }
  +    /**
  +     * Test the retrieval of a non-existent property.
  +     */
  +    public void testGetNonExistentProperty() {
  +        try {
  +            Object value = bean.get("nonexistProperty");
  +        } catch (IllegalArgumentException e) {
  +        	return;
  +        } catch(Exception e) {
  +            fail("Threw '" + e + "' instead of java.lang.IllegalArgumentException");
  +        }
  +        fail("Get non-existent property failed to throw java.lang.IllegalArgumentException");
  +    }
   
       /**
        * Base for testGetDescriptorXxxxx() series of tests.
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org