bodewig 2003/01/20 04:44:24 Modified: src/main/org/apache/tools/ant Project.java src/main/org/apache/tools/ant/util LazyHashtable.java src/testcases/org/apache/tools/ant ProjectTest.java Log: Properly support containsKey in LazyHashtable. Fix the wrong semantics of AntTaskTable#contains. Revision Changes Path 1.124 +4 -4 jakarta-ant/src/main/org/apache/tools/ant/Project.java Index: Project.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/Project.java,v retrieving revision 1.123 retrieving revision 1.124 diff -u -r1.123 -r1.124 --- Project.java 28 Dec 2002 21:14:31 -0000 1.123 +++ Project.java 20 Jan 2003 12:44:24 -0000 1.124 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -2105,8 +2105,8 @@ return taskClass; } - public boolean contains( Object key ) { - return get( key ) != null; + public boolean containsKey(Object key) { + return get(key) != null; } } 1.3 +12 -3 jakarta-ant/src/main/org/apache/tools/ant/util/LazyHashtable.java Index: LazyHashtable.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/util/LazyHashtable.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- LazyHashtable.java 17 Jan 2003 14:34:55 -0000 1.2 +++ LazyHashtable.java 20 Jan 2003 12:44:24 -0000 1.3 @@ -61,6 +61,8 @@ * * All operations that need access to the full list of objects * will call initAll() first. Get and put are cheap. + * + * @since Ant 1.6 */ public class LazyHashtable extends Hashtable { protected boolean initAllDone=false; @@ -96,12 +98,19 @@ public boolean contains( Object value ) { initAll(); - return super.contains(value ); + return super.contains(value); } - public boolean containsValue( Object value ) { + public boolean containsKey(Object value) { initAll(); - return super.contains( value ); + return super.containsKey(value); + } + + /** + * Delegates to [EMAIL PROTECTED] #contains contains}. + */ + public boolean containsValue( Object value ) { + return contains(value); } public Enumeration keys() { 1.14 +9 -1 jakarta-ant/src/testcases/org/apache/tools/ant/ProjectTest.java Index: ProjectTest.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/ProjectTest.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ProjectTest.java 23 Apr 2002 10:30:12 -0000 1.13 +++ ProjectTest.java 20 Jan 2003 12:44:24 -0000 1.14 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -230,6 +230,14 @@ InputHandler pfih = new PropertyFileInputHandler(); p.setInputHandler(pfih); assertSame(pfih, p.getInputHandler()); + } + + public void testTaskDefinitionContainsKey() { + assertTrue(p.getTaskDefinitions().containsKey("echo")); + } + + public void testTaskDefinitionContains() { + assertTrue(p.getTaskDefinitions().contains(org.apache.tools.ant.taskdefs.Echo.class)); } private class DummyTaskPrivate extends Task {
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>