peterreilly 2003/10/14 01:47:42 Modified: src/main/org/apache/tools/ant UnknownElement.java src/testcases/org/apache/tools/ant/types AddTypeTest.java src/etc/testcases/types addtype.xml Log: Fix bug for typedefed add() support with namespace Revision Changes Path 1.65 +30 -1 ant/src/main/org/apache/tools/ant/UnknownElement.java Index: UnknownElement.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/UnknownElement.java,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- UnknownElement.java 26 Sep 2003 10:16:02 -0000 1.64 +++ UnknownElement.java 14 Oct 2003 08:47:40 -0000 1.65 @@ -57,6 +57,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Locale; import java.io.IOException; @@ -107,6 +108,31 @@ } /** + * Makes a new unknown element based on this unknownelement + * does not copy the children + */ + public UnknownElement copyItem() { + UnknownElement ret = new UnknownElement(getTag()); + ret.setNamespace(getNamespace()); + ret.setProject(getProject()); + ret.setQName(getQName()); + ret.setTaskName(getTaskName()); + ret.setLocation(getLocation()); + ret.setOwningTarget(getOwningTarget()); + RuntimeConfigurable rc = new RuntimeConfigurable( + ret, getTaskName()); + rc.setPolyType(getWrapper().getPolyType()); + Map map = getWrapper().getAttributeMap(); + for (Iterator i = map.entrySet().iterator(); i.hasNext();) { + Map.Entry entry = (Map.Entry) i.next(); + rc.setAttribute( + (String) entry.getKey(),(String) entry.getValue()); + } + rc.addText(getWrapper().getText().toString()); + return ret; + } + + /** * Returns the name of the XML element which generated this unknown * element. * @@ -518,7 +544,10 @@ // backwards compatibility - element names of nested // elements have been all lower-case in Ant, except for // TaskContainers - String childName = child.getTag().toLowerCase(Locale.US); + // This does not work too good for typedefed elements... + String childName = + ProjectHelper.genComponentName( + child.getNamespace(), child.getTag().toLowerCase(Locale.US)); if (ih.supportsNestedElement(childName)) { IntrospectionHelper.Creator creator = ih.getElementCreator(getProject(), parent, childName); 1.4 +5 -0 ant/src/testcases/org/apache/tools/ant/types/AddTypeTest.java Index: AddTypeTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/types/AddTypeTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- AddTypeTest.java 23 Jul 2003 12:13:58 -0000 1.3 +++ AddTypeTest.java 14 Oct 2003 08:47:41 -0000 1.4 @@ -123,6 +123,11 @@ expectLogContaining( "myaddconfigured", "value is Value Setexecute: value is Value Set"); } + + public void testNamespace() { + executeTarget("namespacetest"); + } + // The following will be used as types and tasks public static interface A {} 1.3 +13 -3 ant/src/etc/testcases/types/addtype.xml Index: addtype.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/types/addtype.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- addtype.xml 23 Jul 2003 12:13:58 -0000 1.2 +++ addtype.xml 14 Oct 2003 08:47:42 -0000 1.3 @@ -70,7 +70,7 @@ <typedef loaderref="nested.loader" classpathref="nested.classes" name = "myvalue" classname="${nested.package}AddTypeTest$MyValue"/> - </target> + </target> <target name="nested.a" depends="init"> <nested.container> @@ -83,7 +83,7 @@ <nested.b/> </nested.container> </target> - + <target name="nested.c" depends="init"> <nested.container> <nested.c/> @@ -102,18 +102,21 @@ <nested.condition.type/> <echo>after</echo> </target> + <target name="condition.task" depends="init"> <echo>before</echo> <nested.condition.task/> <echo>after</echo> </target> + <target name="condition.condition.type" depends="init"> <condition property="condition.condition.type"> <nested.condition.type/> </condition> </target> + <target name="condition.condition.task" depends="init"> - <condition property="condition.condition.task">> + <condition property="condition.condition.task"> <nested.condition.task/> </condition> </target> @@ -124,4 +127,11 @@ </myaddconfigured> </target> + <target name="namespacetest" xmlns:prefix="uri"> + <typedef name="eq" uri="uri" + classname="org.apache.tools.ant.taskdefs.condition.Equals"/> + <condition property="p"> + <prefix:eq arg1="a" arg2="b"/> + </condition> + </target> </project>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]