You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by um...@apache.org on 2001/12/28 22:45:29 UTC

cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs Property.java

umagesh     01/12/28 13:45:29

  Modified:    src/main/org/apache/tools/ant/taskdefs Property.java
  Log:
  setFile(File) deprecated and replaced with setFile(DestFile).
  
  DestFile is used in this case eventhough SrcFile would make more sense
  because currently, <property> does not throw an exception if the file
  is not found - it just logs a message.  If SrcFile were used, it would have
  thrown an exception if the file was not found thereby being backwards
  incompatible.
  
  <property> was not checking to see if the supplied file was a directory.
  It used to throw a java.io.FileNotFoundException previously.  Now it
  prints a message saying that it is not a file.
  
  Revision  Changes    Path
  1.39      +38 -25    jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Property.java
  
  Index: Property.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Property.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- Property.java	12 Dec 2001 09:17:36 -0000	1.38
  +++ Property.java	28 Dec 2001 21:45:29 -0000	1.39
  @@ -59,6 +59,7 @@
   import org.apache.tools.ant.Project;
   import org.apache.tools.ant.AntClassLoader;
   import org.apache.tools.ant.ProjectHelper;
  +import org.apache.tools.ant.types.DestFile;
   import org.apache.tools.ant.types.Path;
   import org.apache.tools.ant.types.Reference;
   import java.io.File;
  @@ -88,15 +89,15 @@
       protected Reference ref;
   
       protected boolean userProperty; // set read-only properties
  -    
  +
       public Property() {
           super();
       }
  -    
  +
       protected Property(boolean userProperty) {
           this.userProperty = userProperty;
       }
  -    
  +
       public void setName(String name) {
           this.name = name;
       }
  @@ -117,8 +118,20 @@
           return value;
       }
   
  +    /**
  +     * @deprecated setFile(File) is deprecated and is replaced with
  +     *             setFile(DestFile) to let Ant's core perform validation
  +     */
       public void setFile(File file) {
  -        this.file = file;
  +        log("DEPRECATED - The setFile(File) method has been deprecated."
  +            + " Use setFile(DestFile) instead.");
  +        DestFile destFile = new DestFile();
  +        destFile.setFile(file);
  +        setFile(destFile);
  +    }
  +
  +    public void setFile(DestFile file) {
  +        this.file = file.getFile();
       }
   
       public File getFile() {
  @@ -156,14 +169,14 @@
               this.classpath.append(classpath);
           }
       }
  -    
  +
       public Path createClasspath() {
           if (this.classpath == null) {
               this.classpath = new Path(project);
           }
           return this.classpath.createPath();
       }
  -    
  +
       public void setClasspathRef(Reference r) {
           createClasspath().setRefid(r);
       }
  @@ -172,7 +185,7 @@
        * @deprecated This was never a supported feature and has been deprecated without replacement
        */
       public void setUserProperty(boolean userProperty) {
  -        log("DEPRECATED: Ignoring request to set user property in Property task.", 
  +        log("DEPRECATED: Ignoring request to set user property in Property task.",
               Project.MSG_WARN);
       }
   
  @@ -196,13 +209,13 @@
           if ((name != null) && (value != null)) {
               addProperty(name, value);
           }
  -        
  +
           if (file != null) loadFile(file);
  -        
  +
           if (resource != null) loadResource(resource);
  -        
  +
           if (env != null) loadEnvironment(env);
  -        
  +
           if ((name != null) && (ref != null)) {
               Object obj = ref.getReferencedObject(getProject());
               if (obj != null) {
  @@ -215,18 +228,18 @@
           Properties props = new Properties();
           log("Loading " + file.getAbsolutePath(), Project.MSG_VERBOSE);
           try {
  -            if (file.exists()) { 
  +            if (file.exists()) {
                   FileInputStream fis = new FileInputStream(file);
  -                try { 
  +                try {
                       props.load(fis);
                   } finally {
  -                    if (fis != null) { 
  +                    if (fis != null) {
                           fis.close();
                       }
                   }
                   addProperties(props);
               } else {
  -                log("Unable to find property file: " + file.getAbsolutePath(), 
  +                log("Unable to find property file: " + file.getAbsolutePath(),
                       Project.MSG_VERBOSE);
               }
           } catch(IOException ex) {
  @@ -238,21 +251,21 @@
           Properties props = new Properties();
           log("Resource Loading " + name, Project.MSG_VERBOSE);
           try {
  -            ClassLoader cL = null; 
  +            ClassLoader cL = null;
               InputStream is = null;
   
  -            if (classpath != null) { 
  -                cL = new AntClassLoader(project, classpath); 
  -            } else { 
  -                cL = this.getClass().getClassLoader(); 
  -            } 
  +            if (classpath != null) {
  +                cL = new AntClassLoader(project, classpath);
  +            } else {
  +                cL = this.getClass().getClassLoader();
  +            }
   
               if (cL == null) {
                   is = ClassLoader.getSystemResourceAsStream(name);
               } else {
                   is = cL.getResourceAsStream(name);
               }
  -            
  +
               if (is != null) {
                   props.load(is);
                   addProperties(props);
  @@ -275,7 +288,7 @@
               if (pos == -1) {
                   log("Ignoring: " + entry, Project.MSG_WARN);
               } else {
  -                props.put(prefix + entry.substring(0, pos), 
  +                props.put(prefix + entry.substring(0, pos),
                   entry.substring(pos + 1));
               }
           }
  @@ -316,7 +329,7 @@
                   Vector fragments = new Vector();
                   Vector propertyRefs = new Vector();
                   ProjectHelper.parsePropertyString(value, fragments, propertyRefs);
  -                
  +
                   resolved = true;
                   if (propertyRefs.size() != 0) {
                       StringBuffer sb = new StringBuffer();
  @@ -347,5 +360,5 @@
                   }
               }
           }
  -    }    
  +    }
   }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>