ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cos...@apache.org
Subject cvs commit: jakarta-ant/src/main/org/apache/tools/ant ProjectHelper.java
Date Sat, 28 Dec 2002 21:16:24 GMT
costin      2002/12/28 13:16:24

  Modified:    src/main/org/apache/tools/ant ProjectHelper.java
  Log:
  Everything related with properties is in PropertyHelper.
  ProjectHelper delegates for backward compat.
  
  I deprecated some of the methods, easy to revert if you think they
  are needed.
  
  Revision  Changes    Path
  1.92      +21 -88    jakarta-ant/src/main/org/apache/tools/ant/ProjectHelper.java
  
  Index: ProjectHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/ProjectHelper.java,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- ProjectHelper.java	27 Dec 2002 18:06:23 -0000	1.91
  +++ ProjectHelper.java	28 Dec 2002 21:16:24 -0000	1.92
  @@ -108,7 +108,8 @@
        * @param project The project to configure. Must not be <code>null</code>.
        * @param buildFile An XML file giving the project's configuration.
        *                  Must not be <code>null</code>.
  -     * 
  +     *
  +     * @deprecated Use the non-statuc parse method
        * @exception BuildException if the configuration is invalid or cannot 
        *                           be read
        */
  @@ -208,7 +209,7 @@
           // automatically if in CLASSPATH, with the right META-INF/services.
           if (helper == null) {
               try {
  -                ClassLoader classLoader = getContextClassLoader();
  +                ClassLoader classLoader = LoaderUtils.getContextClassLoader();
                   InputStream is = null;
                   if (classLoader != null) {
                       is = classLoader.getResourceAsStream(SERVICE_ID);
  @@ -273,7 +274,7 @@
        */
       private static ProjectHelper newHelper(String helperClass)
           throws BuildException {
  -        ClassLoader classLoader = getContextClassLoader();
  +        ClassLoader classLoader = LoaderUtils.getContextClassLoader();
           try {
               Class clazz = null;
               if (classLoader != null) {
  @@ -295,7 +296,8 @@
       /**
        * JDK1.1 compatible access to the context class loader.
        * Cut&paste from JAXP.
  -     * 
  +     *
  +     * @deprecated Use LoaderUtils.getContextClassLoader()
        * @return the current context class loader, or <code>null</code>
        * if the context class loader is unavailable.
        */
  @@ -319,7 +321,7 @@
        * @param project The project containing the target. 
        *                Must not be <code>null</code>.
        *
  -     * @deprecated
  +     * @deprecated Use IntrospectionHelper for each property
        * @exception BuildException if any of the attributes can't be handled by
        *                           the target
        */
  @@ -433,11 +435,13 @@
        *                           <code>}</code>
        * @return the original string with the properties replaced, or
        *         <code>null</code> if the original string is <code>null</code>.
  -     * 
  +     *
  +     * @deprecated Use project.replaceProperties()
        * @since 1.5
        */
        public static String replaceProperties(Project project, String value)
               throws BuildException {
  +        // needed since project properties are not accessible
            return project.replaceProperties(value);
        }
   
  @@ -458,36 +462,13 @@
        *                           <code>}</code>
        * @return the original string with the properties replaced, or
        *         <code>null</code> if the original string is <code>null</code>.
  +     * @deprecated Use PropertyHelper
        */
        public static String replaceProperties(Project project, String value, 
  -         Hashtable keys) throws BuildException {
  -        if (value == null) {
  -            return null;
  -        }
  -
  -        Vector fragments = new Vector();
  -        Vector propertyRefs = new Vector();
  -        parsePropertyString(value, fragments, propertyRefs);
  -
  -        StringBuffer sb = new StringBuffer();
  -        Enumeration i = fragments.elements();
  -        Enumeration j = propertyRefs.elements();
  -        while (i.hasMoreElements()) {
  -            String fragment = (String) i.nextElement();
  -            if (fragment == null) {
  -                String propertyName = (String) j.nextElement();
  -                if (!keys.containsKey(propertyName)) {
  -                    project.log("Property ${" + propertyName 
  -                        + "} has not been set", Project.MSG_VERBOSE);
  -                }
  -                fragment = (keys.containsKey(propertyName)) 
  -                    ? (String) keys.get(propertyName) 
  -                    : "${" + propertyName + "}"; 
  -            }
  -            sb.append(fragment);
  -        }                        
  -        
  -        return sb.toString();
  +         Hashtable keys) throws BuildException
  +    {
  +        PropertyHelper ph=PropertyHelper.getPropertyHelper(project);
  +        return ph.replaceProperties( null, value, keys);
       }
   
       /**
  @@ -502,66 +483,18 @@
        *                  Must not be <code>null</code>.
        * @param propertyRefs List to add property names to.
        *                     Must not be <code>null</code>.
  -     * 
  +     *
  +     * @deprecated Use PropertyHelper
        * @exception BuildException if the string contains an opening 
        *                           <code>${</code> without a closing 
        *                           <code>}</code>
        */
       public static void parsePropertyString(String value, Vector fragments, 
                                              Vector propertyRefs)
  -        throws BuildException {
  -        int prev = 0;
  -        int pos;
  -        //search for the next instance of $ from the 'prev' position
  -        while ((pos = value.indexOf("$", prev)) >= 0) {
  -
  -            //if there was any text before this, add it as a fragment
  -            //TODO, this check could be modified to go if pos>prev;
  -            //seems like this current version could stick empty strings
  -            //into the list
  -            if (pos > 0) {
  -                fragments.addElement(value.substring(prev, pos));
  -            }
  -            //if we are at the end of the string, we tack on a $
  -            //then move past it
  -            if (pos == (value.length() - 1)) {
  -                fragments.addElement("$");
  -                prev = pos + 1;
  -            } else if (value.charAt(pos + 1) != '{') {
  -                //peek ahead to see if the next char is a property or not
  -                //not a property: insert the char as a literal
  -                /*
  -                fragments.addElement(value.substring(pos + 1, pos + 2));
  -                prev = pos + 2;
  -                */
  -                if (value.charAt(pos + 1) == '$') {
  -                    //backwards compatibility two $ map to one mode
  -                    fragments.addElement("$");
  -                    prev = pos + 2;
  -                } else {
  -                    //new behaviour: $X maps to $X for all values of X!='$'
  -                    fragments.addElement(value.substring(pos, pos + 2));
  -                    prev = pos + 2;
  -                }
  -                
  -            } else {
  -                //property found, extract its name or bail on a typo
  -                int endName = value.indexOf('}', pos);
  -                if (endName < 0) {
  -                    throw new BuildException("Syntax error in property: "
  -                                                 + value);
  -                }
  -                String propertyName = value.substring(pos + 2, endName);
  -                fragments.addElement(null);
  -                propertyRefs.addElement(propertyName);
  -                prev = endName + 1;
  -            }
  -        }
  -        //no more $ signs found
  -        //if there is any tail to the file, append it
  -        if (prev < value.length()) {
  -            fragments.addElement(value.substring(prev));
  -        }
  +        throws BuildException
  +    {
  +        PropertyHelper.parsePropertyStringDefault(value, fragments,
  +                propertyRefs);
       }
   //end class
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message