diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java | 248 |
1 files changed, 0 insertions, 248 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java deleted file mode 100644 index 4c20c7c9..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java +++ /dev/null @@ -1,248 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.taskdefs; - -import java.io.BufferedInputStream; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.Properties; -import java.util.Vector; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.filters.util.ChainReaderHelper; -import org.apache.tools.ant.types.FilterChain; -import org.apache.tools.ant.types.Path; -import org.apache.tools.ant.types.Reference; -import org.apache.tools.ant.types.Resource; -import org.apache.tools.ant.types.ResourceCollection; -import org.apache.tools.ant.types.resources.FileResource; -import org.apache.tools.ant.types.resources.JavaResource; -import org.apache.tools.ant.util.FileUtils; -import org.apache.tools.ant.util.ResourceUtils; - -/** - * Load a file's contents as Ant properties. - * - * @since Ant 1.5 - * @ant.task category="utility" - */ -public class LoadProperties extends Task { - - /** - * Source resource. - */ - private Resource src = null; - - /** - * Holds filterchains - */ - private final Vector<FilterChain> filterChains = new Vector<FilterChain>(); - - /** - * Encoding to use for input; defaults to the platform's default encoding. - */ - private String encoding = null; - - /** - * Prefix for loaded properties. - */ - private String prefix = null; - private boolean prefixValues = true; - - /** - * Set the file to load. - * - * @param srcFile The new SrcFile value - */ - public final void setSrcFile(final File srcFile) { - addConfigured(new FileResource(srcFile)); - } - - /** - * Set the resource name of a property file to load. - * - * @param resource resource on classpath - */ - public void setResource(String resource) { - getRequiredJavaResource().setName(resource); - } - - /** - * Encoding to use for input, defaults to the platform's default - * encoding. <p> - * - * For a list of possible values see - * <a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html"> - * http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html - * </a>.</p> - * - * @param encoding The new Encoding value - */ - public final void setEncoding(final String encoding) { - this.encoding = encoding; - } - - /** - * Set the classpath to use when looking up a resource. - * @param classpath to add to any existing classpath - */ - public void setClasspath(Path classpath) { - getRequiredJavaResource().setClasspath(classpath); - } - - /** - * Add a classpath to use when looking up a resource. - * @return The classpath to be configured - */ - public Path createClasspath() { - return getRequiredJavaResource().createClasspath(); - } - - /** - * Set the classpath to use when looking up a resource, - * given as reference to a <path> defined elsewhere - * @param r The reference value - */ - public void setClasspathRef(Reference r) { - getRequiredJavaResource().setClasspathRef(r); - } - - /** - * get the classpath used by this <code>LoadProperties</code>. - * @return The classpath - */ - public Path getClasspath() { - return getRequiredJavaResource().getClasspath(); - } - - /** - * Set the prefix to load these properties under. - * @param prefix to set - */ - public void setPrefix(String prefix) { - this.prefix = prefix; - } - - /** - * Whether to apply the prefix when expanding properties on the - * right hand side of a properties file as well. - * - * @since Ant 1.8.2 - */ - public void setPrefixValues(boolean b) { - prefixValues = b; - } - - /** - * load Ant properties from the source file or resource - * - * @exception BuildException if something goes wrong with the build - */ - public final void execute() throws BuildException { - //validation - if (src == null) { - throw new BuildException("A source resource is required."); - } - if (!src.isExists()) { - if (src instanceof JavaResource) { - // dreaded backwards compatibility - log("Unable to find resource " + src, Project.MSG_WARN); - return; - } - throw new BuildException("Source resource does not exist: " + src); - } - BufferedInputStream bis = null; - Reader instream = null; - ByteArrayInputStream tis = null; - - try { - bis = new BufferedInputStream(src.getInputStream()); - if (encoding == null) { - instream = new InputStreamReader(bis); - } else { - instream = new InputStreamReader(bis, encoding); - } - ChainReaderHelper crh = new ChainReaderHelper(); - crh.setPrimaryReader(instream); - crh.setFilterChains(filterChains); - crh.setProject(getProject()); - instream = crh.getAssembledReader(); - - String text = crh.readFully(instream); - - if (text != null && text.length() != 0) { - if (!text.endsWith("\n")) { - text = text + "\n"; - } - tis = new ByteArrayInputStream(text.getBytes(ResourceUtils.ISO_8859_1)); - final Properties props = new Properties(); - props.load(tis); - - Property propertyTask = new Property(); - propertyTask.bindToOwner(this); - propertyTask.setPrefix(prefix); - propertyTask.setPrefixValues(prefixValues); - propertyTask.addProperties(props); - } - } catch (final IOException ioe) { - throw new BuildException("Unable to load file: " + ioe, ioe, getLocation()); - } finally { - FileUtils.close(bis); - FileUtils.close(tis); - } - } - - /** - * Adds a FilterChain. - * @param filter the filter to add - */ - public final void addFilterChain(FilterChain filter) { - filterChains.addElement(filter); - } - - /** - * Set the source resource. - * @param a the resource to load as a single element Resource collection. - * @since Ant 1.7 - */ - public synchronized void addConfigured(ResourceCollection a) { - if (src != null) { - throw new BuildException("only a single source is supported"); - } - if (a.size() != 1) { - throw new BuildException( - "only single-element resource collections are supported"); - } - src = a.iterator().next(); - } - - private synchronized JavaResource getRequiredJavaResource() { - if (src == null) { - src = new JavaResource(); - src.setProject(getProject()); - } else if (!(src instanceof JavaResource)) { - throw new BuildException("expected a java resource as source"); - } - return (JavaResource) src; - } -} |