git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271751 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1,23 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| /** | |||
| * Simple class to test typed adder. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTest4 | |||
| { | |||
| public void add( final Integer integer ) | |||
| { | |||
| System.out.println( "This should not have been called as " + | |||
| "Integer is not an interface" ); | |||
| } | |||
| } | |||
| @@ -1,32 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| /** | |||
| * A test class with an interface property. | |||
| * | |||
| * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestInterfaceProp | |||
| { | |||
| private final ArrayList m_elems = new ArrayList(); | |||
| public void addPropA( final MyRole1 role1 ) | |||
| { | |||
| m_elems.add( role1 ); | |||
| } | |||
| public boolean equals( Object obj ) | |||
| { | |||
| final ConfigTestInterfaceProp test = (ConfigTestInterfaceProp)obj; | |||
| return m_elems.equals( test.m_elems ); | |||
| } | |||
| } | |||
| @@ -1,83 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import junit.framework.AssertionFailedError; | |||
| /** | |||
| * A test class with multiple setters/adders/creators for a property. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestMultiSetter | |||
| { | |||
| private ConfigTestStringProps m_prop1; | |||
| private ConfigTestStringProps m_prop2; | |||
| private ArrayList m_prop3 = new ArrayList(); | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestMultiSetter test = (ConfigTestMultiSetter)obj; | |||
| if( !DefaultConfigurerTest.equals( m_prop1, test.m_prop1 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !DefaultConfigurerTest.equals( m_prop2, test.m_prop2 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !m_prop3.equals( test.m_prop3 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| // | |||
| // Multiple setters | |||
| // | |||
| public void setProp1( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void setProp1( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop1 = value; | |||
| } | |||
| // | |||
| // Setter and Adder | |||
| // | |||
| public void addProp2( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void setProp2( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop2 = value; | |||
| } | |||
| // | |||
| // Multiple Adders | |||
| // | |||
| public void addProp3( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void addProp3( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop3.add( value ); | |||
| } | |||
| } | |||
| @@ -1,25 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| /** | |||
| * Simple class with more than one typed adder method. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestMultiTypedAdder | |||
| { | |||
| public void add( final MyRole1 role1 ) | |||
| { | |||
| } | |||
| public void add( final MyRole2 role2 ) | |||
| { | |||
| } | |||
| } | |||
| @@ -1,46 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| /** | |||
| * A simple test class. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestObjectProps | |||
| { | |||
| ConfigTestStringProps m_prop; | |||
| List m_propList = new ArrayList(); | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestObjectProps test = (ConfigTestObjectProps)obj; | |||
| if( !DefaultConfigurerTest.equals( m_prop, test.m_prop ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !m_propList.equals( test.m_propList ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| public void setProp( final ConfigTestStringProps test ) | |||
| { | |||
| m_prop = test; | |||
| } | |||
| public void addAnotherProp( final ConfigTestStringProps test ) | |||
| { | |||
| m_propList.add( test ); | |||
| } | |||
| } | |||
| @@ -1,46 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import org.apache.myrmidon.components.AbstractComponentTest; | |||
| /** | |||
| * A class for testing conversion. | |||
| * | |||
| * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> | |||
| */ | |||
| public class ConfigTestPrimConvert | |||
| { | |||
| private int m_intProp; | |||
| private Integer m_integerProp; | |||
| public void setIntProp( final int intProp ) | |||
| { | |||
| m_intProp = intProp; | |||
| } | |||
| public void setIntegerProp( final Integer integerProp ) | |||
| { | |||
| m_integerProp = integerProp; | |||
| } | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestPrimConvert test = (ConfigTestPrimConvert)obj; | |||
| if( m_intProp != test.m_intProp ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !AbstractComponentTest.equals( m_integerProp, test.m_integerProp ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| } | |||
| @@ -1,61 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import org.apache.myrmidon.framework.DataType; | |||
| /** | |||
| * A simple test class with string properties. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestStringProps | |||
| implements DataType | |||
| { | |||
| private String m_someProp; | |||
| private List m_propList = new ArrayList(); | |||
| private String m_content; | |||
| public boolean equals( final Object obj ) | |||
| { | |||
| final ConfigTestStringProps test = (ConfigTestStringProps)obj; | |||
| if( !DefaultConfigurerTest.equals( m_someProp, test.m_someProp ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else if( !m_propList.equals( test.m_propList ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else if( !DefaultConfigurerTest.equals( m_content, test.m_content ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else | |||
| { | |||
| return true; | |||
| } | |||
| } | |||
| public void setSomeProp( final String value ) | |||
| { | |||
| m_someProp = value; | |||
| } | |||
| public void addProp( final String value ) | |||
| { | |||
| m_propList.add( value ); | |||
| } | |||
| public void addContent( final String content ) | |||
| { | |||
| m_content = content; | |||
| } | |||
| } | |||
| @@ -1,33 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import org.apache.avalon.framework.configuration.Configuration; | |||
| /** | |||
| * Simple class to test adder for Configurations. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestTypedConfigProp | |||
| { | |||
| private ArrayList m_configurations = new ArrayList(); | |||
| public void add( final Configuration configuration ) | |||
| { | |||
| m_configurations.add( configuration ); | |||
| } | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestTypedConfigProp other = (ConfigTestTypedConfigProp)object; | |||
| return m_configurations.equals( other.m_configurations ); | |||
| } | |||
| } | |||
| @@ -1,32 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| /** | |||
| * Simple class to test typed adder. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestTypedProp | |||
| { | |||
| private ArrayList m_roles = new ArrayList(); | |||
| public void add( final MyRole1 role1 ) | |||
| { | |||
| m_roles.add( role1 ); | |||
| } | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestTypedProp other = (ConfigTestTypedProp)object; | |||
| return m_roles.equals( other.m_roles ); | |||
| } | |||
| } | |||
| @@ -13,8 +13,32 @@ import org.apache.avalon.excalibur.i18n.ResourceManager; | |||
| import org.apache.avalon.excalibur.i18n.Resources; | |||
| import org.apache.avalon.framework.configuration.ConfigurationException; | |||
| import org.apache.avalon.framework.configuration.DefaultConfiguration; | |||
| import org.apache.avalon.framework.ExceptionUtil; | |||
| import org.apache.myrmidon.api.TaskContext; | |||
| import org.apache.myrmidon.components.AbstractComponentTest; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestAttributeConvert; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestContent; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestEmpty; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestInterfaceAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestNonInterfaceAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestPropResolution; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceAttribute; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceConversion; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceElement; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestSetAttribute; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestSetElement; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestMultipleTypedAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderRole; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestIgnoreStringMethods; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderConversion; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedConfigAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestIdResolve; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestUnknownReference; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderReference; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestMismatchedRefType; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestConfigAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestNestedErrors; | |||
| import org.apache.myrmidon.components.workspace.DefaultTaskContext; | |||
| import org.apache.myrmidon.framework.DataType; | |||
| import org.apache.myrmidon.interfaces.configurer.Configurer; | |||
| @@ -69,15 +93,15 @@ public class DefaultConfigurerTest | |||
| final String value2 = "some other value"; | |||
| config.setAttribute( "prop", value2 ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestSetAttribute test = new ConfigTestSetAttribute(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestSetAttribute expected = new ConfigTestSetAttribute(); | |||
| expected.setSomeProp( value1 ); | |||
| expected.addProp( value2 ); | |||
| expected.setProp( value2 ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -95,13 +119,13 @@ public class DefaultConfigurerTest | |||
| // Register the converter | |||
| registerConverter( StringToIntegerConverter.class, String.class, Integer.class ); | |||
| final ConfigTestPrimConvert test = new ConfigTestPrimConvert(); | |||
| final ConfigTestAttributeConvert test = new ConfigTestAttributeConvert(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestPrimConvert expected = new ConfigTestPrimConvert(); | |||
| final ConfigTestAttributeConvert expected = new ConfigTestAttributeConvert(); | |||
| expected.setIntProp( 90 ); | |||
| expected.setIntegerProp( new Integer( -401 ) ); | |||
| assertEquals( expected, test ); | |||
| @@ -117,7 +141,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "unknown", "some value" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -149,17 +173,17 @@ public class DefaultConfigurerTest | |||
| child2.setAttribute( "some-prop", value2 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestSetElement test = new ConfigTestSetElement(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestObjectProps expected = new ConfigTestObjectProps(); | |||
| ConfigTestStringProps elem = new ConfigTestStringProps(); | |||
| final ConfigTestSetElement expected = new ConfigTestSetElement(); | |||
| ConfigTestSetElement elem = new ConfigTestSetElement(); | |||
| elem.setSomeProp( value1 ); | |||
| expected.setProp( elem ); | |||
| elem = new ConfigTestStringProps(); | |||
| expected.addProp( elem ); | |||
| elem = new ConfigTestSetElement(); | |||
| elem.setSomeProp( value2 ); | |||
| expected.addAnotherProp( elem ); | |||
| assertEquals( expected, test ); | |||
| @@ -176,7 +200,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration elem = new DefaultConfiguration( "unknown", "test" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -202,13 +226,13 @@ public class DefaultConfigurerTest | |||
| final String value1 = "some value"; | |||
| config.setValue( value1 ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestContent test = new ConfigTestContent(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestContent expected = new ConfigTestContent(); | |||
| expected.addContent( value1 ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -223,7 +247,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setValue( "some value" ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -248,7 +272,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "prop", "some ${prop-a} value" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestPropResolution test = new ConfigTestPropResolution(); | |||
| m_context.setProperty( "prop-a", "other" ); | |||
| @@ -256,8 +280,8 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| expected.addProp( "some other value" ); | |||
| final ConfigTestPropResolution expected = new ConfigTestPropResolution(); | |||
| expected.setProp( "some other value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -270,7 +294,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "prop-a" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceAttribute test = new ConfigTestReferenceAttribute(); | |||
| m_context.setProperty( "prop-a", "some value" ); | |||
| @@ -278,7 +302,7 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceAttribute expected = new ConfigTestReferenceAttribute(); | |||
| expected.setSomeProp( "some value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -294,7 +318,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "id", "prop-a" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceElement test = new ConfigTestReferenceElement(); | |||
| m_context.setProperty( "prop-a", "some value" ); | |||
| @@ -302,8 +326,8 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| expected.setSomeProp( "some value" ); | |||
| final ConfigTestReferenceElement expected = new ConfigTestReferenceElement(); | |||
| expected.addSomeProp( "some value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -320,7 +344,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "extra-attr", "some value" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceElement test = new ConfigTestReferenceElement(); | |||
| try | |||
| { | |||
| @@ -330,7 +354,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-configure-element.error", "some-prop-ref" ), | |||
| REZ.getString( "extra-config-for-ref.error" ) | |||
| }; | |||
| @@ -352,14 +377,14 @@ public class DefaultConfigurerTest | |||
| registerConverter( ObjectToMyRole1Converter.class, Object.class, MyRole1.class ); | |||
| final ConfigTestInterfaceProp test = new ConfigTestInterfaceProp(); | |||
| final ConfigTestReferenceConversion test = new ConfigTestReferenceConversion(); | |||
| // Configure | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestInterfaceProp expected = new ConfigTestInterfaceProp(); | |||
| expected.addPropA( new MyRole1Adaptor( refValue ) ); | |||
| final ConfigTestReferenceConversion expected = new ConfigTestReferenceConversion(); | |||
| expected.setPropA( new MyRole1Adaptor( refValue ) ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -378,13 +403,13 @@ public class DefaultConfigurerTest | |||
| registerRole( new RoleInfo( "myrole1", null, MyRole1.class, "default-type" ) ); | |||
| registerType( MyRole1.class, "default-type", MyType1.class ); | |||
| final ConfigTestInterfaceProp test = new ConfigTestInterfaceProp(); | |||
| final ConfigTestInterfaceAdder test = new ConfigTestInterfaceAdder(); | |||
| // Configure object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestInterfaceProp expected = new ConfigTestInterfaceProp(); | |||
| final ConfigTestInterfaceAdder expected = new ConfigTestInterfaceAdder(); | |||
| expected.addPropA( new MyType1() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -399,7 +424,7 @@ public class DefaultConfigurerTest | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| final ConfigTest4 test = new ConfigTest4(); | |||
| final ConfigTestNonInterfaceAdder test = new ConfigTestNonInterfaceAdder(); | |||
| try | |||
| { | |||
| @@ -412,7 +437,7 @@ public class DefaultConfigurerTest | |||
| final String[] messages = { | |||
| REZ.getString( "bad-configure-element.error", "test" ), | |||
| REZ.getString( "typed-adder-non-interface.error", | |||
| ConfigTest4.class.getName(), | |||
| ConfigTestNonInterfaceAdder.class.getName(), | |||
| Integer.class.getName() ) | |||
| }; | |||
| assertSameMessage( messages, ce ); | |||
| @@ -428,7 +453,7 @@ public class DefaultConfigurerTest | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| final ConfigTestMultiTypedAdder test = new ConfigTestMultiTypedAdder(); | |||
| final ConfigTestMultipleTypedAdder test = new ConfigTestMultipleTypedAdder(); | |||
| try | |||
| { | |||
| @@ -438,10 +463,11 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( final ConfigurationException ce ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-configure-element.error", "test" ), | |||
| REZ.getString( "multiple-adder-methods-for-element.error", | |||
| ConfigTestMultiTypedAdder.class.getName(), | |||
| ConfigTestMultipleTypedAdder.class.getName(), | |||
| "" ) | |||
| }; | |||
| assertSameMessage( messages, ce ); | |||
| @@ -464,12 +490,12 @@ public class DefaultConfigurerTest | |||
| registerType( DataType.class, "my-type1", MyType1.class ); | |||
| registerType( DataType.class, "my-type2", MyType2.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdder test = new ConfigTestTypedAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdder expected = new ConfigTestTypedAdder(); | |||
| expected.add( new MyType1() ); | |||
| expected.add( new MyType2() ); | |||
| assertEquals( expected, test ); | |||
| @@ -491,13 +517,13 @@ public class DefaultConfigurerTest | |||
| registerType( MyRole1.class, "my-type1", MyType1.class ); | |||
| registerType( DataType.class, "my-type1", StringBuffer.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderRole test = new ConfigTestTypedAdderRole(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderRole expected = new ConfigTestTypedAdderRole(); | |||
| expected.add( new MyType1() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -514,45 +540,35 @@ public class DefaultConfigurerTest | |||
| child.setAttribute( "prop", "some value" ); | |||
| config.addChild( child ); | |||
| registerType( DataType.class, "some-type", ConfigTestStringProps.class ); | |||
| registerType( DataType.class, "some-type", ConfigTestTypedAdderConversion.class ); | |||
| registerConverter( ObjectToMyRole1Converter.class, Object.class, MyRole1.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderConversion test = new ConfigTestTypedAdderConversion(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| configure( test, config ); | |||
| // Check the result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestStringProps nested = new ConfigTestStringProps(); | |||
| nested.addProp( "some value" ); | |||
| final ConfigTestTypedAdderConversion expected = new ConfigTestTypedAdderConversion(); | |||
| final ConfigTestTypedAdderConversion nested = new ConfigTestTypedAdderConversion(); | |||
| nested.setProp( "some value" ); | |||
| expected.add( new MyRole1Adaptor( nested ) ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| /** | |||
| * Tests to see if typed adder can be used via an attribute. | |||
| */ | |||
| public void testTypedAdderAttribute() | |||
| throws Exception | |||
| private void configure( final Object test, | |||
| final DefaultConfiguration config ) | |||
| throws ConfigurationException | |||
| { | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "my-role1", "some value" ); | |||
| // Set up the converter and role | |||
| registerRole( new RoleInfo( "my-role1", MyRole1.class ) ); | |||
| registerConverter( ObjectToMyRole1Converter.class, String.class, MyRole1.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| expected.add( new MyRole1Adaptor( "some value" ) ); | |||
| assertEquals( expected, test ); | |||
| try | |||
| { | |||
| m_configurer.configure( test, config, m_context ); | |||
| } | |||
| catch( final ConfigurationException ce ) | |||
| { | |||
| ExceptionUtil.printStackTrace( ce ); | |||
| throw ce; | |||
| } | |||
| } | |||
| /** | |||
| @@ -568,12 +584,12 @@ public class DefaultConfigurerTest | |||
| config.addChild( child1 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestTypedConfigProp test = new ConfigTestTypedConfigProp(); | |||
| final ConfigTestTypedConfigAdder test = new ConfigTestTypedConfigAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestTypedConfigProp expected = new ConfigTestTypedConfigProp(); | |||
| final ConfigTestTypedConfigAdder expected = new ConfigTestTypedConfigAdder(); | |||
| expected.add( child1 ); | |||
| expected.add( child2 ); | |||
| assertEquals( expected, test ); | |||
| @@ -592,12 +608,12 @@ public class DefaultConfigurerTest | |||
| config.addChild( child1 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestConfigProps test = new ConfigTestConfigProps(); | |||
| final ConfigTestConfigAdder test = new ConfigTestConfigAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestConfigProps expected = new ConfigTestConfigProps(); | |||
| final ConfigTestConfigAdder expected = new ConfigTestConfigAdder(); | |||
| expected.addConfig( child1 ); | |||
| expected.addConfig( child2 ); | |||
| assertEquals( expected, test ); | |||
| @@ -632,16 +648,16 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "${id}" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestIdResolve test = new ConfigTestIdResolve(); | |||
| m_context.setProperty( "id", "prop-a" ); | |||
| m_context.setProperty( "prop-a", "some indirect value" ); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| configure( test, config ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestIdResolve expected = new ConfigTestIdResolve(); | |||
| expected.setSomeProp( "some indirect value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -656,7 +672,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "unknown-prop" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestUnknownReference test = new ConfigTestUnknownReference(); | |||
| // Configure the object | |||
| try | |||
| @@ -666,7 +682,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-set-attribute.error", "test", "some-prop-ref" ), | |||
| REZ.getString( "unknown-reference.error", "unknown-prop" ) | |||
| }; | |||
| @@ -684,9 +701,9 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "prop-a" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestMismatchedRefType test = new ConfigTestMismatchedRefType(); | |||
| m_context.setProperty( "prop-a", new ConfigTestObjectProps() ); | |||
| m_context.setProperty( "prop-a", new Integer( 23 ) ); | |||
| // Configure the object | |||
| try | |||
| @@ -696,7 +713,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-set-attribute.error", "test", "some-prop-ref" ), | |||
| REZ.getString( "mismatch-ref-types.error", | |||
| "prop-a", | |||
| @@ -715,24 +733,21 @@ public class DefaultConfigurerTest | |||
| { | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "my-role1-ref", "id" ); | |||
| final DefaultConfiguration child = new DefaultConfiguration( "my-role1-ref", "test" ); | |||
| child.setAttribute( "id", "id2" ); | |||
| config.addChild( child ); | |||
| // Add role mapping, and add to reference to context | |||
| registerRole( new RoleInfo( "my-role1", MyRole1.class ) ); | |||
| m_context.setProperty( "id", new MyType1() ); | |||
| m_context.setProperty( "id2", new MyType2() ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderReference test = new ConfigTestTypedAdderReference(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Compare against expected value | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| expected.add( new MyType1() ); | |||
| final ConfigTestTypedAdderReference expected = new ConfigTestTypedAdderReference(); | |||
| expected.add( new MyType2() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -748,7 +763,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "not-a-prop", "not-a-value" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestNestedErrors test = new ConfigTestNestedErrors(); | |||
| try | |||
| { | |||
| @@ -778,19 +793,16 @@ public class DefaultConfigurerTest | |||
| config.addChild( elem ); | |||
| elem = new DefaultConfiguration( "prop2", "test" ); | |||
| config.addChild( elem ); | |||
| elem = new DefaultConfiguration( "prop3", "test" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestMultiSetter test = new ConfigTestMultiSetter(); | |||
| final ConfigTestIgnoreStringMethods test = new ConfigTestIgnoreStringMethods(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Test expected value | |||
| final ConfigTestMultiSetter expected = new ConfigTestMultiSetter(); | |||
| expected.setProp1( new ConfigTestStringProps() ); | |||
| expected.setProp2( new ConfigTestStringProps() ); | |||
| expected.addProp3( new ConfigTestStringProps() ); | |||
| final ConfigTestIgnoreStringMethods expected = new ConfigTestIgnoreStringMethods(); | |||
| expected.addProp1( new ConfigTestIgnoreStringMethods() ); | |||
| expected.addProp2( new ConfigTestIgnoreStringMethods() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| } | |||
| @@ -5,7 +5,7 @@ | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import org.apache.avalon.framework.configuration.Configuration; | |||
| @@ -16,7 +16,7 @@ import org.apache.avalon.framework.configuration.Configuration; | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestConfigProps | |||
| public class ConfigTestConfigAdder | |||
| { | |||
| private ArrayList m_configurations = new ArrayList(); | |||
| @@ -27,7 +27,7 @@ public class ConfigTestConfigProps | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestConfigProps other = (ConfigTestConfigProps)object; | |||
| final ConfigTestConfigAdder other = (ConfigTestConfigAdder)object; | |||
| return m_configurations.equals( other.m_configurations ); | |||
| } | |||
| } | |||
| @@ -9,9 +9,7 @@ package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import junit.framework.AssertionFailedError; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestStringProps; | |||
| import org.apache.myrmidon.components.configurer.DefaultConfigurerTest; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestMultiSetter; | |||
| /** | |||
| * A test class with multiple setters/adders/creators for a property. | |||
| @@ -0,0 +1,20 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| /** | |||
| * A simple test class. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestNestedErrors | |||
| { | |||
| public void addProp( final ConfigTestEmpty test ) | |||
| { | |||
| } | |||
| } | |||
| @@ -8,10 +8,7 @@ | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import org.apache.myrmidon.components.configurer.DefaultConfigurerTest; | |||
| import org.apache.myrmidon.components.configurer.MyRole1; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestInterfaceProp; | |||
| /** | |||
| * A simple test class. | |||
| @@ -1,23 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| /** | |||
| * Simple class to test typed adder. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTest4 | |||
| { | |||
| public void add( final Integer integer ) | |||
| { | |||
| System.out.println( "This should not have been called as " + | |||
| "Integer is not an interface" ); | |||
| } | |||
| } | |||
| @@ -1,32 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| /** | |||
| * A test class with an interface property. | |||
| * | |||
| * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestInterfaceProp | |||
| { | |||
| private final ArrayList m_elems = new ArrayList(); | |||
| public void addPropA( final MyRole1 role1 ) | |||
| { | |||
| m_elems.add( role1 ); | |||
| } | |||
| public boolean equals( Object obj ) | |||
| { | |||
| final ConfigTestInterfaceProp test = (ConfigTestInterfaceProp)obj; | |||
| return m_elems.equals( test.m_elems ); | |||
| } | |||
| } | |||
| @@ -1,83 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import junit.framework.AssertionFailedError; | |||
| /** | |||
| * A test class with multiple setters/adders/creators for a property. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestMultiSetter | |||
| { | |||
| private ConfigTestStringProps m_prop1; | |||
| private ConfigTestStringProps m_prop2; | |||
| private ArrayList m_prop3 = new ArrayList(); | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestMultiSetter test = (ConfigTestMultiSetter)obj; | |||
| if( !DefaultConfigurerTest.equals( m_prop1, test.m_prop1 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !DefaultConfigurerTest.equals( m_prop2, test.m_prop2 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !m_prop3.equals( test.m_prop3 ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| // | |||
| // Multiple setters | |||
| // | |||
| public void setProp1( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void setProp1( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop1 = value; | |||
| } | |||
| // | |||
| // Setter and Adder | |||
| // | |||
| public void addProp2( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void setProp2( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop2 = value; | |||
| } | |||
| // | |||
| // Multiple Adders | |||
| // | |||
| public void addProp3( final String value ) | |||
| { | |||
| throw new AssertionFailedError(); | |||
| } | |||
| public void addProp3( final ConfigTestStringProps value ) | |||
| { | |||
| m_prop3.add( value ); | |||
| } | |||
| } | |||
| @@ -1,25 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| /** | |||
| * Simple class with more than one typed adder method. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestMultiTypedAdder | |||
| { | |||
| public void add( final MyRole1 role1 ) | |||
| { | |||
| } | |||
| public void add( final MyRole2 role2 ) | |||
| { | |||
| } | |||
| } | |||
| @@ -1,46 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| /** | |||
| * A simple test class. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestObjectProps | |||
| { | |||
| ConfigTestStringProps m_prop; | |||
| List m_propList = new ArrayList(); | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestObjectProps test = (ConfigTestObjectProps)obj; | |||
| if( !DefaultConfigurerTest.equals( m_prop, test.m_prop ) ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !m_propList.equals( test.m_propList ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| public void setProp( final ConfigTestStringProps test ) | |||
| { | |||
| m_prop = test; | |||
| } | |||
| public void addAnotherProp( final ConfigTestStringProps test ) | |||
| { | |||
| m_propList.add( test ); | |||
| } | |||
| } | |||
| @@ -1,46 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import org.apache.myrmidon.components.AbstractComponentTest; | |||
| /** | |||
| * A class for testing conversion. | |||
| * | |||
| * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a> | |||
| */ | |||
| public class ConfigTestPrimConvert | |||
| { | |||
| private int m_intProp; | |||
| private Integer m_integerProp; | |||
| public void setIntProp( final int intProp ) | |||
| { | |||
| m_intProp = intProp; | |||
| } | |||
| public void setIntegerProp( final Integer integerProp ) | |||
| { | |||
| m_integerProp = integerProp; | |||
| } | |||
| public boolean equals( Object obj ) | |||
| { | |||
| ConfigTestPrimConvert test = (ConfigTestPrimConvert)obj; | |||
| if( m_intProp != test.m_intProp ) | |||
| { | |||
| return false; | |||
| } | |||
| if( !AbstractComponentTest.equals( m_integerProp, test.m_integerProp ) ) | |||
| { | |||
| return false; | |||
| } | |||
| return true; | |||
| } | |||
| } | |||
| @@ -1,61 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import org.apache.myrmidon.framework.DataType; | |||
| /** | |||
| * A simple test class with string properties. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestStringProps | |||
| implements DataType | |||
| { | |||
| private String m_someProp; | |||
| private List m_propList = new ArrayList(); | |||
| private String m_content; | |||
| public boolean equals( final Object obj ) | |||
| { | |||
| final ConfigTestStringProps test = (ConfigTestStringProps)obj; | |||
| if( !DefaultConfigurerTest.equals( m_someProp, test.m_someProp ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else if( !m_propList.equals( test.m_propList ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else if( !DefaultConfigurerTest.equals( m_content, test.m_content ) ) | |||
| { | |||
| return false; | |||
| } | |||
| else | |||
| { | |||
| return true; | |||
| } | |||
| } | |||
| public void setSomeProp( final String value ) | |||
| { | |||
| m_someProp = value; | |||
| } | |||
| public void addProp( final String value ) | |||
| { | |||
| m_propList.add( value ); | |||
| } | |||
| public void addContent( final String content ) | |||
| { | |||
| m_content = content; | |||
| } | |||
| } | |||
| @@ -1,33 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| import org.apache.avalon.framework.configuration.Configuration; | |||
| /** | |||
| * Simple class to test adder for Configurations. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestTypedConfigProp | |||
| { | |||
| private ArrayList m_configurations = new ArrayList(); | |||
| public void add( final Configuration configuration ) | |||
| { | |||
| m_configurations.add( configuration ); | |||
| } | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestTypedConfigProp other = (ConfigTestTypedConfigProp)object; | |||
| return m_configurations.equals( other.m_configurations ); | |||
| } | |||
| } | |||
| @@ -1,32 +0,0 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| import java.util.ArrayList; | |||
| /** | |||
| * Simple class to test typed adder. | |||
| * | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestTypedProp | |||
| { | |||
| private ArrayList m_roles = new ArrayList(); | |||
| public void add( final MyRole1 role1 ) | |||
| { | |||
| m_roles.add( role1 ); | |||
| } | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestTypedProp other = (ConfigTestTypedProp)object; | |||
| return m_roles.equals( other.m_roles ); | |||
| } | |||
| } | |||
| @@ -13,8 +13,32 @@ import org.apache.avalon.excalibur.i18n.ResourceManager; | |||
| import org.apache.avalon.excalibur.i18n.Resources; | |||
| import org.apache.avalon.framework.configuration.ConfigurationException; | |||
| import org.apache.avalon.framework.configuration.DefaultConfiguration; | |||
| import org.apache.avalon.framework.ExceptionUtil; | |||
| import org.apache.myrmidon.api.TaskContext; | |||
| import org.apache.myrmidon.components.AbstractComponentTest; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestAttributeConvert; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestContent; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestEmpty; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestInterfaceAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestNonInterfaceAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestPropResolution; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceAttribute; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceConversion; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestReferenceElement; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestSetAttribute; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestSetElement; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestMultipleTypedAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderRole; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestIgnoreStringMethods; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderConversion; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedConfigAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestIdResolve; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestUnknownReference; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestTypedAdderReference; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestMismatchedRefType; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestConfigAdder; | |||
| import org.apache.myrmidon.components.configurer.data.ConfigTestNestedErrors; | |||
| import org.apache.myrmidon.components.workspace.DefaultTaskContext; | |||
| import org.apache.myrmidon.framework.DataType; | |||
| import org.apache.myrmidon.interfaces.configurer.Configurer; | |||
| @@ -69,15 +93,15 @@ public class DefaultConfigurerTest | |||
| final String value2 = "some other value"; | |||
| config.setAttribute( "prop", value2 ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestSetAttribute test = new ConfigTestSetAttribute(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestSetAttribute expected = new ConfigTestSetAttribute(); | |||
| expected.setSomeProp( value1 ); | |||
| expected.addProp( value2 ); | |||
| expected.setProp( value2 ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -95,13 +119,13 @@ public class DefaultConfigurerTest | |||
| // Register the converter | |||
| registerConverter( StringToIntegerConverter.class, String.class, Integer.class ); | |||
| final ConfigTestPrimConvert test = new ConfigTestPrimConvert(); | |||
| final ConfigTestAttributeConvert test = new ConfigTestAttributeConvert(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestPrimConvert expected = new ConfigTestPrimConvert(); | |||
| final ConfigTestAttributeConvert expected = new ConfigTestAttributeConvert(); | |||
| expected.setIntProp( 90 ); | |||
| expected.setIntegerProp( new Integer( -401 ) ); | |||
| assertEquals( expected, test ); | |||
| @@ -117,7 +141,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "unknown", "some value" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -149,17 +173,17 @@ public class DefaultConfigurerTest | |||
| child2.setAttribute( "some-prop", value2 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestSetElement test = new ConfigTestSetElement(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestObjectProps expected = new ConfigTestObjectProps(); | |||
| ConfigTestStringProps elem = new ConfigTestStringProps(); | |||
| final ConfigTestSetElement expected = new ConfigTestSetElement(); | |||
| ConfigTestSetElement elem = new ConfigTestSetElement(); | |||
| elem.setSomeProp( value1 ); | |||
| expected.setProp( elem ); | |||
| elem = new ConfigTestStringProps(); | |||
| expected.addProp( elem ); | |||
| elem = new ConfigTestSetElement(); | |||
| elem.setSomeProp( value2 ); | |||
| expected.addAnotherProp( elem ); | |||
| assertEquals( expected, test ); | |||
| @@ -176,7 +200,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration elem = new DefaultConfiguration( "unknown", "test" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -202,13 +226,13 @@ public class DefaultConfigurerTest | |||
| final String value1 = "some value"; | |||
| config.setValue( value1 ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestContent test = new ConfigTestContent(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestContent expected = new ConfigTestContent(); | |||
| expected.addContent( value1 ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -223,7 +247,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setValue( "some value" ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestEmpty test = new ConfigTestEmpty(); | |||
| // Configure the object | |||
| try | |||
| @@ -248,7 +272,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "prop", "some ${prop-a} value" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestPropResolution test = new ConfigTestPropResolution(); | |||
| m_context.setProperty( "prop-a", "other" ); | |||
| @@ -256,8 +280,8 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| expected.addProp( "some other value" ); | |||
| final ConfigTestPropResolution expected = new ConfigTestPropResolution(); | |||
| expected.setProp( "some other value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -270,7 +294,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "prop-a" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceAttribute test = new ConfigTestReferenceAttribute(); | |||
| m_context.setProperty( "prop-a", "some value" ); | |||
| @@ -278,7 +302,7 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceAttribute expected = new ConfigTestReferenceAttribute(); | |||
| expected.setSomeProp( "some value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -294,7 +318,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "id", "prop-a" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceElement test = new ConfigTestReferenceElement(); | |||
| m_context.setProperty( "prop-a", "some value" ); | |||
| @@ -302,8 +326,8 @@ public class DefaultConfigurerTest | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| expected.setSomeProp( "some value" ); | |||
| final ConfigTestReferenceElement expected = new ConfigTestReferenceElement(); | |||
| expected.addSomeProp( "some value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -320,7 +344,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "extra-attr", "some value" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestReferenceElement test = new ConfigTestReferenceElement(); | |||
| try | |||
| { | |||
| @@ -330,7 +354,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-configure-element.error", "some-prop-ref" ), | |||
| REZ.getString( "extra-config-for-ref.error" ) | |||
| }; | |||
| @@ -352,14 +377,14 @@ public class DefaultConfigurerTest | |||
| registerConverter( ObjectToMyRole1Converter.class, Object.class, MyRole1.class ); | |||
| final ConfigTestInterfaceProp test = new ConfigTestInterfaceProp(); | |||
| final ConfigTestReferenceConversion test = new ConfigTestReferenceConversion(); | |||
| // Configure | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestInterfaceProp expected = new ConfigTestInterfaceProp(); | |||
| expected.addPropA( new MyRole1Adaptor( refValue ) ); | |||
| final ConfigTestReferenceConversion expected = new ConfigTestReferenceConversion(); | |||
| expected.setPropA( new MyRole1Adaptor( refValue ) ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -378,13 +403,13 @@ public class DefaultConfigurerTest | |||
| registerRole( new RoleInfo( "myrole1", null, MyRole1.class, "default-type" ) ); | |||
| registerType( MyRole1.class, "default-type", MyType1.class ); | |||
| final ConfigTestInterfaceProp test = new ConfigTestInterfaceProp(); | |||
| final ConfigTestInterfaceAdder test = new ConfigTestInterfaceAdder(); | |||
| // Configure object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestInterfaceProp expected = new ConfigTestInterfaceProp(); | |||
| final ConfigTestInterfaceAdder expected = new ConfigTestInterfaceAdder(); | |||
| expected.addPropA( new MyType1() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -399,7 +424,7 @@ public class DefaultConfigurerTest | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| final ConfigTest4 test = new ConfigTest4(); | |||
| final ConfigTestNonInterfaceAdder test = new ConfigTestNonInterfaceAdder(); | |||
| try | |||
| { | |||
| @@ -412,7 +437,7 @@ public class DefaultConfigurerTest | |||
| final String[] messages = { | |||
| REZ.getString( "bad-configure-element.error", "test" ), | |||
| REZ.getString( "typed-adder-non-interface.error", | |||
| ConfigTest4.class.getName(), | |||
| ConfigTestNonInterfaceAdder.class.getName(), | |||
| Integer.class.getName() ) | |||
| }; | |||
| assertSameMessage( messages, ce ); | |||
| @@ -428,7 +453,7 @@ public class DefaultConfigurerTest | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| final ConfigTestMultiTypedAdder test = new ConfigTestMultiTypedAdder(); | |||
| final ConfigTestMultipleTypedAdder test = new ConfigTestMultipleTypedAdder(); | |||
| try | |||
| { | |||
| @@ -438,10 +463,11 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( final ConfigurationException ce ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-configure-element.error", "test" ), | |||
| REZ.getString( "multiple-adder-methods-for-element.error", | |||
| ConfigTestMultiTypedAdder.class.getName(), | |||
| ConfigTestMultipleTypedAdder.class.getName(), | |||
| "" ) | |||
| }; | |||
| assertSameMessage( messages, ce ); | |||
| @@ -464,12 +490,12 @@ public class DefaultConfigurerTest | |||
| registerType( DataType.class, "my-type1", MyType1.class ); | |||
| registerType( DataType.class, "my-type2", MyType2.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdder test = new ConfigTestTypedAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdder expected = new ConfigTestTypedAdder(); | |||
| expected.add( new MyType1() ); | |||
| expected.add( new MyType2() ); | |||
| assertEquals( expected, test ); | |||
| @@ -491,13 +517,13 @@ public class DefaultConfigurerTest | |||
| registerType( MyRole1.class, "my-type1", MyType1.class ); | |||
| registerType( DataType.class, "my-type1", StringBuffer.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderRole test = new ConfigTestTypedAdderRole(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check the result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderRole expected = new ConfigTestTypedAdderRole(); | |||
| expected.add( new MyType1() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -514,45 +540,35 @@ public class DefaultConfigurerTest | |||
| child.setAttribute( "prop", "some value" ); | |||
| config.addChild( child ); | |||
| registerType( DataType.class, "some-type", ConfigTestStringProps.class ); | |||
| registerType( DataType.class, "some-type", ConfigTestTypedAdderConversion.class ); | |||
| registerConverter( ObjectToMyRole1Converter.class, Object.class, MyRole1.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderConversion test = new ConfigTestTypedAdderConversion(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| configure( test, config ); | |||
| // Check the result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| final ConfigTestStringProps nested = new ConfigTestStringProps(); | |||
| nested.addProp( "some value" ); | |||
| final ConfigTestTypedAdderConversion expected = new ConfigTestTypedAdderConversion(); | |||
| final ConfigTestTypedAdderConversion nested = new ConfigTestTypedAdderConversion(); | |||
| nested.setProp( "some value" ); | |||
| expected.add( new MyRole1Adaptor( nested ) ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| /** | |||
| * Tests to see if typed adder can be used via an attribute. | |||
| */ | |||
| public void testTypedAdderAttribute() | |||
| throws Exception | |||
| private void configure( final Object test, | |||
| final DefaultConfiguration config ) | |||
| throws ConfigurationException | |||
| { | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "my-role1", "some value" ); | |||
| // Set up the converter and role | |||
| registerRole( new RoleInfo( "my-role1", MyRole1.class ) ); | |||
| registerConverter( ObjectToMyRole1Converter.class, String.class, MyRole1.class ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Check result | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| expected.add( new MyRole1Adaptor( "some value" ) ); | |||
| assertEquals( expected, test ); | |||
| try | |||
| { | |||
| m_configurer.configure( test, config, m_context ); | |||
| } | |||
| catch( final ConfigurationException ce ) | |||
| { | |||
| ExceptionUtil.printStackTrace( ce ); | |||
| throw ce; | |||
| } | |||
| } | |||
| /** | |||
| @@ -568,12 +584,12 @@ public class DefaultConfigurerTest | |||
| config.addChild( child1 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestTypedConfigProp test = new ConfigTestTypedConfigProp(); | |||
| final ConfigTestTypedConfigAdder test = new ConfigTestTypedConfigAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestTypedConfigProp expected = new ConfigTestTypedConfigProp(); | |||
| final ConfigTestTypedConfigAdder expected = new ConfigTestTypedConfigAdder(); | |||
| expected.add( child1 ); | |||
| expected.add( child2 ); | |||
| assertEquals( expected, test ); | |||
| @@ -592,12 +608,12 @@ public class DefaultConfigurerTest | |||
| config.addChild( child1 ); | |||
| config.addChild( child2 ); | |||
| final ConfigTestConfigProps test = new ConfigTestConfigProps(); | |||
| final ConfigTestConfigAdder test = new ConfigTestConfigAdder(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| final ConfigTestConfigProps expected = new ConfigTestConfigProps(); | |||
| final ConfigTestConfigAdder expected = new ConfigTestConfigAdder(); | |||
| expected.addConfig( child1 ); | |||
| expected.addConfig( child2 ); | |||
| assertEquals( expected, test ); | |||
| @@ -632,16 +648,16 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "${id}" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestIdResolve test = new ConfigTestIdResolve(); | |||
| m_context.setProperty( "id", "prop-a" ); | |||
| m_context.setProperty( "prop-a", "some indirect value" ); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| configure( test, config ); | |||
| // Check the configured object | |||
| final ConfigTestStringProps expected = new ConfigTestStringProps(); | |||
| final ConfigTestIdResolve expected = new ConfigTestIdResolve(); | |||
| expected.setSomeProp( "some indirect value" ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -656,7 +672,7 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "unknown-prop" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestUnknownReference test = new ConfigTestUnknownReference(); | |||
| // Configure the object | |||
| try | |||
| @@ -666,7 +682,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-set-attribute.error", "test", "some-prop-ref" ), | |||
| REZ.getString( "unknown-reference.error", "unknown-prop" ) | |||
| }; | |||
| @@ -684,9 +701,9 @@ public class DefaultConfigurerTest | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "some-prop-ref", "prop-a" ); | |||
| final ConfigTestStringProps test = new ConfigTestStringProps(); | |||
| final ConfigTestMismatchedRefType test = new ConfigTestMismatchedRefType(); | |||
| m_context.setProperty( "prop-a", new ConfigTestObjectProps() ); | |||
| m_context.setProperty( "prop-a", new Integer( 23 ) ); | |||
| // Configure the object | |||
| try | |||
| @@ -696,7 +713,8 @@ public class DefaultConfigurerTest | |||
| } | |||
| catch( ConfigurationException e ) | |||
| { | |||
| final String[] messages = { | |||
| final String[] messages = new String[] | |||
| { | |||
| REZ.getString( "bad-set-attribute.error", "test", "some-prop-ref" ), | |||
| REZ.getString( "mismatch-ref-types.error", | |||
| "prop-a", | |||
| @@ -715,24 +733,21 @@ public class DefaultConfigurerTest | |||
| { | |||
| // Setup test data | |||
| final DefaultConfiguration config = new DefaultConfiguration( "test", "test" ); | |||
| config.setAttribute( "my-role1-ref", "id" ); | |||
| final DefaultConfiguration child = new DefaultConfiguration( "my-role1-ref", "test" ); | |||
| child.setAttribute( "id", "id2" ); | |||
| config.addChild( child ); | |||
| // Add role mapping, and add to reference to context | |||
| registerRole( new RoleInfo( "my-role1", MyRole1.class ) ); | |||
| m_context.setProperty( "id", new MyType1() ); | |||
| m_context.setProperty( "id2", new MyType2() ); | |||
| final ConfigTestTypedProp test = new ConfigTestTypedProp(); | |||
| final ConfigTestTypedAdderReference test = new ConfigTestTypedAdderReference(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Compare against expected value | |||
| final ConfigTestTypedProp expected = new ConfigTestTypedProp(); | |||
| expected.add( new MyType1() ); | |||
| final ConfigTestTypedAdderReference expected = new ConfigTestTypedAdderReference(); | |||
| expected.add( new MyType2() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| @@ -748,7 +763,7 @@ public class DefaultConfigurerTest | |||
| elem.setAttribute( "not-a-prop", "not-a-value" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestObjectProps test = new ConfigTestObjectProps(); | |||
| final ConfigTestNestedErrors test = new ConfigTestNestedErrors(); | |||
| try | |||
| { | |||
| @@ -778,19 +793,16 @@ public class DefaultConfigurerTest | |||
| config.addChild( elem ); | |||
| elem = new DefaultConfiguration( "prop2", "test" ); | |||
| config.addChild( elem ); | |||
| elem = new DefaultConfiguration( "prop3", "test" ); | |||
| config.addChild( elem ); | |||
| final ConfigTestMultiSetter test = new ConfigTestMultiSetter(); | |||
| final ConfigTestIgnoreStringMethods test = new ConfigTestIgnoreStringMethods(); | |||
| // Configure the object | |||
| m_configurer.configure( test, config, m_context ); | |||
| // Test expected value | |||
| final ConfigTestMultiSetter expected = new ConfigTestMultiSetter(); | |||
| expected.setProp1( new ConfigTestStringProps() ); | |||
| expected.setProp2( new ConfigTestStringProps() ); | |||
| expected.addProp3( new ConfigTestStringProps() ); | |||
| final ConfigTestIgnoreStringMethods expected = new ConfigTestIgnoreStringMethods(); | |||
| expected.addProp1( new ConfigTestIgnoreStringMethods() ); | |||
| expected.addProp2( new ConfigTestIgnoreStringMethods() ); | |||
| assertEquals( expected, test ); | |||
| } | |||
| } | |||
| @@ -5,7 +5,7 @@ | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer; | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import org.apache.avalon.framework.configuration.Configuration; | |||
| @@ -16,7 +16,7 @@ import org.apache.avalon.framework.configuration.Configuration; | |||
| * @author <a href="mailto:peter@apache.org">Peter Donald</a> | |||
| * @version $Revision$ $Date$ | |||
| */ | |||
| public class ConfigTestConfigProps | |||
| public class ConfigTestConfigAdder | |||
| { | |||
| private ArrayList m_configurations = new ArrayList(); | |||
| @@ -27,7 +27,7 @@ public class ConfigTestConfigProps | |||
| public boolean equals( final Object object ) | |||
| { | |||
| final ConfigTestConfigProps other = (ConfigTestConfigProps)object; | |||
| final ConfigTestConfigAdder other = (ConfigTestConfigAdder)object; | |||
| return m_configurations.equals( other.m_configurations ); | |||
| } | |||
| } | |||
| @@ -9,9 +9,7 @@ package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import junit.framework.AssertionFailedError; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestStringProps; | |||
| import org.apache.myrmidon.components.configurer.DefaultConfigurerTest; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestMultiSetter; | |||
| /** | |||
| * A test class with multiple setters/adders/creators for a property. | |||
| @@ -0,0 +1,20 @@ | |||
| /* | |||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||
| * | |||
| * This software is published under the terms of the Apache Software License | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| /** | |||
| * A simple test class. | |||
| * | |||
| * @author Adam Murdoch | |||
| */ | |||
| public class ConfigTestNestedErrors | |||
| { | |||
| public void addProp( final ConfigTestEmpty test ) | |||
| { | |||
| } | |||
| } | |||
| @@ -8,10 +8,7 @@ | |||
| package org.apache.myrmidon.components.configurer.data; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import org.apache.myrmidon.components.configurer.DefaultConfigurerTest; | |||
| import org.apache.myrmidon.components.configurer.MyRole1; | |||
| import org.apache.myrmidon.components.configurer.ConfigTestInterfaceProp; | |||
| /** | |||
| * A simple test class. | |||