Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 54761 invoked from network); 17 May 2002 23:13:00 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 17 May 2002 23:13:00 -0000 Received: (qmail 9886 invoked by uid 97); 17 May 2002 23:13:04 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 9866 invoked by uid 97); 17 May 2002 23:13:04 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 9855 invoked by uid 97); 17 May 2002 23:13:03 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Date: 17 May 2002 23:12:51 -0000 Message-ID: <20020517231251.65274.qmail@icarus.apache.org> From: costin@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/proposal/sandbox/embed ant-sax2.jar build.xml org.apache.tools.ant.ProjectHelper RuntimeConfigurable2.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N costin 02/05/17 16:12:51 Modified: proposal/sandbox/embed RuntimeConfigurable2.java Added: proposal/sandbox/embed ant-sax2.jar build.xml org.apache.tools.ant.ProjectHelper Log: Fixes, build file, get it to work. Revision Changes Path 1.2 +23 -33 jakarta-ant/proposal/sandbox/embed/RuntimeConfigurable2.java Index: RuntimeConfigurable2.java =================================================================== RCS file: /home/cvs/jakarta-ant/proposal/sandbox/embed/RuntimeConfigurable2.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- RuntimeConfigurable2.java 17 May 2002 21:26:41 -0000 1.1 +++ RuntimeConfigurable2.java 17 May 2002 23:12:51 -0000 1.2 @@ -58,6 +58,7 @@ import java.util.Enumeration; import java.util.Locale; import java.util.Vector; +import java.util.Hashtable; import org.xml.sax.AttributeList; import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributeListImpl; @@ -98,6 +99,8 @@ super( proxy, elementTag ); wrappedObject = proxy; this.elementTag = elementTag; + if( proxy instanceof Task ) + ((Task)proxy).setRuntimeConfigurableWrapper( this ); } /** @@ -280,7 +283,6 @@ try { ih.setAttribute(project, target, attrs.getQName(i).toLowerCase(Locale.US), value); - } catch (BuildException be) { // id attribute must be set externally if (!attrs.getQName(i).equals("id")) { @@ -329,7 +331,19 @@ return sb.toString(); } + + static Hashtable propertySources=new Hashtable(); + + public static interface ProjectPropertySource { + + public String getProperty( Project project, String key ); + + } + public static void addPropertySource( String ns, ProjectPropertySource src ) { + propertySources.put( ns, src ); + } + /** Use the reference table to generate values for ${} substitution. * To preserve backward compat ( as much as possible ) we'll only process @@ -343,20 +357,6 @@ * bean:idName.propertyName - we get the idName and call the getter for the property. */ static String processReference( Project project, String name ) { - if( name.startsWith("dom:") ) { - name=name.substring( 4 ); - int idx=name.indexOf(":"); - if( idx<0 ) return null; - - String objName=name.substring( 0, idx ); - String path=name.substring( idx ); - System.out.println("XXX dom: " + objName + " " + path ); - - Object v=project.getReference( objName ); - if( v==null ) return null; - - } - if( name.startsWith( "toString:" )) { name=name.substring( "toString:".length()); Object v=project.getReference( name ); @@ -364,26 +364,16 @@ return v.toString(); } - if( name.startsWith( "bean:" )) { - name=name.substring( "toString:".length()); - int idx=name.indexOf(":"); - if( idx<0 ) return null; - - String objName=name.substring( 0, idx ); - String path=name.substring( idx ); - System.out.println("XXX bean: " + objName + " " + path ); + int idx=name.indexOf(":"); + if( idx<0 ) return null; - Object v=project.getReference( objName ); - if( v==null ) return null; - - return v.toString(); - } + String ns=name.substring( 0, idx ); + String path=name.substring( idx ); + ProjectPropertySource ps=(ProjectPropertySource)propertySources.get( ns ); + if( ps == null ) + return null; - - // If everything else fails, use toString() - return null; + return ps.getProperty( project, path ); } - - } 1.1 jakarta-ant/proposal/sandbox/embed/ant-sax2.jar <> 1.1 jakarta-ant/proposal/sandbox/embed/build.xml Index: build.xml =================================================================== 1.1 jakarta-ant/proposal/sandbox/embed/org.apache.tools.ant.ProjectHelper Index: org.apache.tools.ant.ProjectHelper =================================================================== org.apache.tools.ant.helper.ProjectHelperImpl2 -- To unsubscribe, e-mail: For additional commands, e-mail: