You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by mb...@apache.org on 2012/08/22 14:32:46 UTC
svn commit: r1376015 [1/3] - in
/ant/core/trunk/src/main/org/apache/tools/ant: ./ taskdefs/
taskdefs/optional/depend/ taskdefs/optional/depend/constantpool/ types/
types/mappers/ types/optional/ types/optional/depend/ types/optional/image/
types/resour...
Author: mbenson
Date: Wed Aug 22 12:32:43 2012
New Revision: 1376015
URL: http://svn.apache.org/viewvc?rev=1376015&view=rev
Log:
Java 1.5, continued
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Redirector.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java
ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveFileSet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveScanner.java
ant/core/trunk/src/main/org/apache/tools/ant/types/Assertions.java
ant/core/trunk/src/main/org/apache/tools/ant/types/Commandline.java
ant/core/trunk/src/main/org/apache/tools/ant/types/CommandlineJava.java
ant/core/trunk/src/main/org/apache/tools/ant/types/Description.java
ant/core/trunk/src/main/org/apache/tools/ant/types/EnumeratedAttribute.java
ant/core/trunk/src/main/org/apache/tools/ant/types/FileList.java
ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSetCollection.java
ant/core/trunk/src/main/org/apache/tools/ant/types/Mapper.java
ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/Permissions.java
ant/core/trunk/src/main/org/apache/tools/ant/types/PropertySet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/RedirectorElement.java
ant/core/trunk/src/main/org/apache/tools/ant/types/TarScanner.java
ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java
ant/core/trunk/src/main/org/apache/tools/ant/types/ZipScanner.java
ant/core/trunk/src/main/org/apache/tools/ant/types/mappers/FilterMapper.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/ScriptMapper.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/image/ImageOperation.java
ant/core/trunk/src/main/org/apache/tools/ant/types/optional/image/Rotate.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/AbstractClasspathResource.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/AbstractResourceCollectionWrapper.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/ArchiveResource.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Archives.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionContainer.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/FailFast.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Files.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/ImmutableResourceException.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/JavaConstantResource.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/MappedResourceCollection.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/ResourceDecorator.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/ResourceList.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Restrict.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Sort.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Tokens.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Union.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/Reverse.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/And.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/InstanceOf.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/Majority.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/None.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/Or.java
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/AndSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/BaseSelectorContainer.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/DateSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/DependSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/ExtendSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/MajoritySelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/NoneSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/NotSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/OrSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/PresentSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorContainer.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TokenizedPattern.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/WritableSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/Cache.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ChecksumAlgorithm.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/EqualComparator.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
ant/core/trunk/src/main/org/apache/tools/ant/types/selectors/modifiedselector/PropertiesfileCache.java
ant/core/trunk/src/main/org/apache/tools/ant/util/depend/AbstractAnalyzer.java
ant/core/trunk/src/main/org/apache/tools/ant/util/depend/DependencyAnalyzer.java
ant/core/trunk/src/main/org/apache/tools/ant/util/depend/bcel/AncestorAnalyzer.java
ant/core/trunk/src/main/org/apache/tools/ant/util/depend/bcel/DependencyVisitor.java
ant/core/trunk/src/main/org/apache/tools/ant/util/depend/bcel/FullAnalyzer.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java Wed Aug 22 12:32:43 2012
@@ -163,6 +163,7 @@ public class PropertyHelper implements G
String property, Object value, PropertyHelper propertyHelper);
}
+ //TODO PropertyEnumerator Delegate type, would improve PropertySet
// --------------------------------------------------------
//
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java Wed Aug 22 12:32:43 2012
@@ -113,10 +113,10 @@ public class ManifestTask extends Task {
*/
public void addConfiguredSection(Manifest.Section section)
throws ManifestException {
- Enumeration attributeKeys = section.getAttributeKeys();
+ Enumeration<String> attributeKeys = section.getAttributeKeys();
while (attributeKeys.hasMoreElements()) {
Attribute attribute = section.getAttribute(
- (String) attributeKeys.nextElement());
+ attributeKeys.nextElement());
checkAttribute(attribute);
}
nestedManifest.addConfiguredSection(section);
@@ -249,9 +249,9 @@ public class ManifestTask extends Task {
}
//look for and print warnings
- for (Enumeration e = nestedManifest.getWarnings();
+ for (Enumeration<String> e = nestedManifest.getWarnings();
e.hasMoreElements();) {
- log("Manifest warning: " + (String) e.nextElement(),
+ log("Manifest warning: " + e.nextElement(),
Project.MSG_WARN);
}
try {
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java Wed Aug 22 12:32:43 2012
@@ -263,7 +263,7 @@ public abstract class MatchingTask exten
*
* @return an enumerator that goes through each of the selectors
*/
- public Enumeration selectorElements() {
+ public Enumeration<FileSelector> selectorElements() {
return fileset.selectorElements();
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Redirector.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Redirector.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Redirector.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Redirector.java Wed Aug 22 12:32:43 2012
@@ -37,7 +37,7 @@ import org.apache.tools.ant.ProjectCompo
import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.filters.util.ChainReaderHelper;
-import org.apache.tools.ant.util.LineOrientedOutputStream;
+import org.apache.tools.ant.types.FilterChain;
import org.apache.tools.ant.util.LineOrientedOutputStreamRedirector;
import org.apache.tools.ant.util.StringUtils;
import org.apache.tools.ant.util.TeeOutputStream;
@@ -51,7 +51,7 @@ import org.apache.tools.ant.util.KeepAli
/**
* The Redirector class manages the setup and connection of input and output
* redirection for an Ant project component.
- *
+ *
* @since Ant 1.6
*/
public class Redirector {
@@ -157,13 +157,13 @@ public class Redirector {
private PrintStream errorPrintStream = null;
/** The output filter chains */
- private Vector outputFilterChains;
+ private Vector<FilterChain> outputFilterChains;
/** The error filter chains */
- private Vector errorFilterChains;
+ private Vector<FilterChain> errorFilterChains;
/** The input filter chains */
- private Vector inputFilterChains;
+ private Vector<FilterChain> inputFilterChains;
/** The output encoding */
private String outputEncoding = DEFAULT_ENCODING;
@@ -194,7 +194,7 @@ public class Redirector {
/**
* Create a redirector instance for the given task
- *
+ *
* @param managingTask
* the task for which the redirector is to work
*/
@@ -204,7 +204,7 @@ public class Redirector {
/**
* Create a redirector instance for the given task
- *
+ *
* @param managingTask
* the project component for which the redirector is to work
* @since Ant 1.6.3
@@ -215,7 +215,7 @@ public class Redirector {
/**
* Set the input to use for the task
- *
+ *
* @param input
* the file from which input is read.
*/
@@ -225,7 +225,7 @@ public class Redirector {
/**
* Set the input to use for the task
- *
+ *
* @param input
* the files from which input is read.
*/
@@ -241,7 +241,7 @@ public class Redirector {
/**
* Set the string to use as input
- *
+ *
* @param inputString
* the string which is used as the input source
*/
@@ -254,7 +254,7 @@ public class Redirector {
/**
* Set whether to include the value of the input string in log messages.
* Defaults to true.
- *
+ *
* @param logInputString
* true or false.
* @since Ant 1.7
@@ -265,7 +265,7 @@ public class Redirector {
/**
* Set a stream to use as input.
- *
+ *
* @param inputStream
* the stream from which input will be read
* @since Ant 1.6.3
@@ -279,7 +279,7 @@ public class Redirector {
/**
* File the output of the process is redirected to. If error is not
* redirected, it too will appear in the output
- *
+ *
* @param out
* the file to which output stream is written
*/
@@ -290,7 +290,7 @@ public class Redirector {
/**
* Files the output of the process is redirected to. If error is not
* redirected, it too will appear in the output
- *
+ *
* @param out
* the files to which output stream is written
*/
@@ -306,7 +306,7 @@ public class Redirector {
/**
* Set the output encoding.
- *
+ *
* @param outputEncoding
* <code>String</code>.
*/
@@ -322,7 +322,7 @@ public class Redirector {
/**
* Set the error encoding.
- *
+ *
* @param errorEncoding
* <code>String</code>.
*/
@@ -337,7 +337,7 @@ public class Redirector {
/**
* Set the input encoding.
- *
+ *
* @param inputEncoding
* <code>String</code>.
*/
@@ -353,7 +353,7 @@ public class Redirector {
/**
* Controls whether error output of exec is logged. This is only useful when
* output is being redirected and error output is desired in the Ant log
- *
+ *
* @param logError
* if true the standard error is sent to the Ant log system and
* not sent to output.
@@ -368,7 +368,7 @@ public class Redirector {
* This <code>Redirector</code>'s subordinate
* <code>PropertyOutputStream</code>s will not set their respective
* properties <code>while (appendProperties && append)</code>.
- *
+ *
* @param appendProperties
* whether to append properties.
*/
@@ -380,7 +380,7 @@ public class Redirector {
/**
* Set the file to which standard error is to be redirected.
- *
+ *
* @param error
* the file to which error is to be written
*/
@@ -390,7 +390,7 @@ public class Redirector {
/**
* Set the files to which standard error is to be redirected.
- *
+ *
* @param error
* the file to which error is to be written
*/
@@ -406,7 +406,7 @@ public class Redirector {
/**
* Property name whose value should be set to the output of the process.
- *
+ *
* @param outputProperty
* the name of the property to be set with the task's output.
*/
@@ -423,7 +423,7 @@ public class Redirector {
/**
* Whether output should be appended to or overwrite an existing file.
* Defaults to false.
- *
+ *
* @param append
* if true output and error streams are appended to their
* respective files, if specified.
@@ -441,7 +441,7 @@ public class Redirector {
* If true, (error and non-error) output will be "teed", redirected as
* specified while being sent to Ant's logging mechanism as if no
* redirection had taken place. Defaults to false.
- *
+ *
* @param alwaysLog
* <code>boolean</code>
* @since Ant 1.6.3
@@ -458,7 +458,7 @@ public class Redirector {
/**
* Whether output and error files should be created even when empty.
* Defaults to true.
- *
+ *
* @param createEmptyFiles
* <code>boolean</code>.
*/
@@ -473,7 +473,7 @@ public class Redirector {
/**
* Property name whose value should be set to the error of the process.
- *
+ *
* @param errorProperty
* the name of the property to be set with the error output.
*/
@@ -489,11 +489,11 @@ public class Redirector {
/**
* Set the input <code>FilterChain</code>s.
- *
+ *
* @param inputFilterChains
* <code>Vector</code> containing <code>FilterChain</code>.
*/
- public void setInputFilterChains(Vector inputFilterChains) {
+ public void setInputFilterChains(Vector<FilterChain> inputFilterChains) {
synchronized (inMutex) {
this.inputFilterChains = inputFilterChains;
}
@@ -501,11 +501,11 @@ public class Redirector {
/**
* Set the output <code>FilterChain</code>s.
- *
+ *
* @param outputFilterChains
* <code>Vector</code> containing <code>FilterChain</code>.
*/
- public void setOutputFilterChains(Vector outputFilterChains) {
+ public void setOutputFilterChains(Vector<FilterChain> outputFilterChains) {
synchronized (outMutex) {
this.outputFilterChains = outputFilterChains;
}
@@ -513,11 +513,11 @@ public class Redirector {
/**
* Set the error <code>FilterChain</code>s.
- *
+ *
* @param errorFilterChains
* <code>Vector</code> containing <code>FilterChain</code>.
*/
- public void setErrorFilterChains(Vector errorFilterChains) {
+ public void setErrorFilterChains(Vector<FilterChain> errorFilterChains) {
synchronized (errMutex) {
this.errorFilterChains = errorFilterChains;
}
@@ -525,12 +525,12 @@ public class Redirector {
/**
* Set a property from a ByteArrayOutputStream
- *
+ *
* @param baos
* contains the property value.
* @param propertyName
* the property name.
- *
+ *
* @exception IOException
* if the value cannot be read form the stream.
*/
@@ -746,10 +746,10 @@ public class Redirector {
/**
* Create the StreamHandler to use with our Execute instance.
- *
+ *
* @return the execute stream handler to manage the input, output and error
* streams.
- *
+ *
* @throws BuildException
* if the execute stream handler cannot be created.
*/
@@ -762,7 +762,7 @@ public class Redirector {
/**
* Pass output sent to System.out to specified output.
- *
+ *
* @param output
* the data to be output
*/
@@ -777,16 +777,16 @@ public class Redirector {
/**
* Handle an input request
- *
+ *
* @param buffer
* the buffer into which data is to be read.
* @param offset
* the offset into the buffer at which data is stored.
* @param length
* the amount of data to read
- *
+ *
* @return the number of bytes read
- *
+ *
* @exception IOException
* if the data cannot be read
*/
@@ -804,7 +804,7 @@ public class Redirector {
/**
* Process data due to a flush operation.
- *
+ *
* @param output
* the data being flushed.
*/
@@ -820,7 +820,7 @@ public class Redirector {
/**
* Process error output
- *
+ *
* @param output
* the error output data.
*/
@@ -835,7 +835,7 @@ public class Redirector {
/**
* Handle a flush operation on the error stream
- *
+ *
* @param output
* the error information being flushed.
*/
@@ -851,7 +851,7 @@ public class Redirector {
/**
* Get the output stream for the redirector
- *
+ *
* @return the redirector's output stream or null if no output has been
* configured
*/
@@ -863,7 +863,7 @@ public class Redirector {
/**
* Get the error stream for the redirector
- *
+ *
* @return the redirector's error stream or null if no output has been
* configured
*/
@@ -875,7 +875,7 @@ public class Redirector {
/**
* Get the input stream for the redirector
- *
+ *
* @return the redirector's input stream or null if no output has been
* configured
*/
@@ -887,10 +887,10 @@ public class Redirector {
/**
* Complete redirection.
- *
+ *
* This operation will close any streams and create any specified property
* values.
- *
+ *
* @throws IOException
* if the output properties cannot be read from their output
* streams.
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java Wed Aug 22 12:32:43 2012
@@ -49,24 +49,24 @@ public class AntAnalyzer extends Abstrac
* @param classes a vector to be populated with the names of the
* dependency classes.
*/
- protected void determineDependencies(Vector files, Vector classes) {
+ protected void determineDependencies(Vector<File> files, Vector<String> classes) {
// we get the root classes and build up a set of
// classes upon which they depend
- Hashtable dependencies = new Hashtable();
- Hashtable containers = new Hashtable();
- Hashtable toAnalyze = new Hashtable();
- for (Enumeration e = getRootClasses(); e.hasMoreElements();) {
- String classname = (String) e.nextElement();
+ Hashtable<String, String> dependencies = new Hashtable<String, String>();
+ Hashtable<File, File> containers = new Hashtable<File, File>();
+ Hashtable<String, String> toAnalyze = new Hashtable<String, String>();
+ for (Enumeration<String> e = getRootClasses(); e.hasMoreElements();) {
+ String classname = e.nextElement();
toAnalyze.put(classname, classname);
}
int count = 0;
int maxCount = isClosureRequired() ? MAX_LOOPS : 1;
- Hashtable analyzedDeps = null;
+ Hashtable<String, String> analyzedDeps = null;
while (toAnalyze.size() != 0 && count++ < maxCount) {
- analyzedDeps = new Hashtable();
- for (Enumeration e = toAnalyze.keys(); e.hasMoreElements();) {
- String classname = (String) e.nextElement();
+ analyzedDeps = new Hashtable<String, String>();
+ for (Enumeration<String> e = toAnalyze.keys(); e.hasMoreElements();) {
+ String classname = e.nextElement();
dependencies.put(classname, classname);
try {
File container = getClassContainer(classname);
@@ -90,10 +90,7 @@ public class AntAnalyzer extends Abstrac
}
ClassFile classFile = new ClassFile();
classFile.read(inStream);
- Vector dependencyList = classFile.getClassRefs();
- Enumeration depEnum = dependencyList.elements();
- while (depEnum.hasMoreElements()) {
- String dependency = (String) depEnum.nextElement();
+ for (String dependency : classFile.getClassRefs()) {
analyzedDeps.put(dependency, dependency);
}
} finally {
@@ -110,9 +107,7 @@ public class AntAnalyzer extends Abstrac
toAnalyze.clear();
// now recover all the dependencies collected and add to the list.
- Enumeration depsEnum = analyzedDeps.elements();
- while (depsEnum.hasMoreElements()) {
- String className = (String) depsEnum.nextElement();
+ for (String className : analyzedDeps.values()) {
if (!dependencies.containsKey(className)) {
toAnalyze.put(className, className);
}
@@ -120,20 +115,18 @@ public class AntAnalyzer extends Abstrac
}
// pick up the last round of dependencies that were determined
- Enumeration depsEnum = analyzedDeps.elements();
- while (depsEnum.hasMoreElements()) {
- String className = (String) depsEnum.nextElement();
+ for (String className : analyzedDeps.values()) {
dependencies.put(className, className);
}
files.removeAllElements();
- for (Enumeration e = containers.keys(); e.hasMoreElements();) {
- files.addElement((File) e.nextElement());
+ for (File f : containers.keySet()) {
+ files.add(f);
}
classes.removeAllElements();
- for (Enumeration e = dependencies.keys(); e.hasMoreElements();) {
- classes.addElement((String) e.nextElement());
+ for (String dependency :dependencies.keySet()) {
+ classes.add(dependency);
}
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/ClassFile.java Wed Aug 22 12:32:43 2012
@@ -86,9 +86,9 @@ public class ClassFile {
*
* @return a vector of class names which this class references
*/
- public Vector getClassRefs() {
+ public Vector<String> getClassRefs() {
- Vector classRefs = new Vector();
+ Vector<String> classRefs = new Vector<String>();
final int size = constantPool.size();
for (int i = 0; i < size; ++i) {
@@ -99,7 +99,7 @@ public class ClassFile {
ClassCPInfo classEntry = (ClassCPInfo) entry;
if (!classEntry.getClassName().equals(className)) {
- classRefs.addElement(
+ classRefs.add(
ClassFileUtils.convertSlashName(classEntry.getClassName()));
}
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPool.java Wed Aug 22 12:32:43 2012
@@ -19,9 +19,10 @@ package org.apache.tools.ant.taskdefs.op
import java.io.DataInputStream;
import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* The constant pool of a Java class. The constant pool is a collection of
@@ -34,23 +35,19 @@ import java.util.Vector;
public class ConstantPool {
/** The entries in the constant pool. */
- private Vector entries;
+ private final List<ConstantPoolEntry> entries = new ArrayList<ConstantPoolEntry>();
/**
* A Hashtable of UTF8 entries - used to get constant pool indexes of
* the UTF8 values quickly
*/
- private Hashtable utf8Indexes;
+ private final Map<String, Integer> utf8Indexes = new HashMap<String, Integer>();
/** Initialise the constant pool. */
public ConstantPool() {
- entries = new Vector();
-
// The zero index is never present in the constant pool itself so
// we add a null entry for it
- entries.addElement(null);
-
- utf8Indexes = new Hashtable();
+ entries.add(null);
}
/**
@@ -92,13 +89,13 @@ public class ConstantPool {
public int addEntry(ConstantPoolEntry entry) {
int index = entries.size();
- entries.addElement(entry);
+ entries.add(entry);
int numSlots = entry.getNumEntries();
// add null entries for any additional slots required.
for (int j = 0; j < numSlots - 1; ++j) {
- entries.addElement(null);
+ entries.add(null);
}
if (entry instanceof Utf8CPInfo) {
@@ -116,9 +113,7 @@ public class ConstantPool {
* into the actual data for that entry.
*/
public void resolve() {
- for (Enumeration i = entries.elements(); i.hasMoreElements();) {
- ConstantPoolEntry poolInfo = (ConstantPoolEntry) i.nextElement();
-
+ for (ConstantPoolEntry poolInfo : entries) {
if (poolInfo != null && !poolInfo.isResolved()) {
poolInfo.resolve(this);
}
@@ -133,7 +128,7 @@ public class ConstantPool {
* @return the constant pool entry at that index.
*/
public ConstantPoolEntry getEntry(int index) {
- return (ConstantPoolEntry) entries.elementAt(index);
+ return entries.get(index);
}
/**
@@ -145,7 +140,7 @@ public class ConstantPool {
*/
public int getUTF8Entry(String value) {
int index = -1;
- Integer indexInteger = (Integer) utf8Indexes.get(value);
+ Integer indexInteger = utf8Indexes.get(value);
if (indexInteger != null) {
index = indexInteger.intValue();
@@ -167,7 +162,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof ClassCPInfo) {
ClassCPInfo classinfo = (ClassCPInfo) element;
@@ -194,7 +189,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof ConstantCPInfo) {
ConstantCPInfo constantEntry = (ConstantCPInfo) element;
@@ -225,7 +220,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof MethodRefCPInfo) {
MethodRefCPInfo methodRefEntry = (MethodRefCPInfo) element;
@@ -260,7 +255,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof InterfaceMethodRefCPInfo) {
InterfaceMethodRefCPInfo interfaceMethodRefEntry
@@ -297,7 +292,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof FieldRefCPInfo) {
FieldRefCPInfo fieldRefEntry = (FieldRefCPInfo) element;
@@ -327,7 +322,7 @@ public class ConstantPool {
final int size = entries.size();
for (int i = 0; i < size && index == -1; ++i) {
- Object element = entries.elementAt(i);
+ Object element = entries.get(i);
if (element instanceof NameAndTypeCPInfo) {
NameAndTypeCPInfo nameAndTypeEntry
@@ -349,7 +344,7 @@ public class ConstantPool {
* @return the constant pool entries as strings
*/
public String toString() {
- StringBuffer sb = new StringBuffer("\n");
+ StringBuilder sb = new StringBuilder("\n");
final int size = entries.size();
for (int i = 0; i < size; ++i) {
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/AbstractFileSet.java Wed Aug 22 12:32:43 2012
@@ -18,10 +18,11 @@
package org.apache.tools.ant.types;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
-import java.util.Iterator;
+import java.util.List;
import java.util.Stack;
-import java.util.Vector;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.FileScanner;
@@ -62,8 +63,8 @@ public abstract class AbstractFileSet ex
implements Cloneable, SelectorContainer {
private PatternSet defaultPatterns = new PatternSet();
- private Vector additionalPatterns = new Vector();
- private Vector selectors = new Vector();
+ private List<PatternSet> additionalPatterns = new ArrayList<PatternSet>();
+ private List<FileSelector> selectors = new ArrayList<FileSelector>();
private File dir;
private boolean useDefaultExcludes = true;
@@ -165,7 +166,7 @@ public abstract class AbstractFileSet ex
throw noChildrenAllowed();
}
PatternSet patterns = new PatternSet();
- additionalPatterns.addElement(patterns);
+ additionalPatterns.add(patterns);
directoryScanner = null;
return patterns;
}
@@ -579,9 +580,7 @@ public abstract class AbstractFileSet ex
if (defaultPatterns.hasPatterns(getProject())) {
return true;
}
- Enumeration e = additionalPatterns.elements();
- while (e.hasMoreElements()) {
- PatternSet ps = (PatternSet) e.nextElement();
+ for (PatternSet ps : additionalPatterns) {
if (ps.hasPatterns(getProject())) {
return true;
}
@@ -621,12 +620,12 @@ public abstract class AbstractFileSet ex
*
* @return an <code>Enumeration</code> of selectors.
*/
- public synchronized Enumeration selectorElements() {
+ public synchronized Enumeration<FileSelector> selectorElements() {
if (isReference()) {
return getRef(getProject()).selectorElements();
}
dieOnCircularReference();
- return selectors.elements();
+ return Collections.enumeration(selectors);
}
/**
@@ -638,7 +637,7 @@ public abstract class AbstractFileSet ex
if (isReference()) {
throw noChildrenAllowed();
}
- selectors.addElement(selector);
+ selectors.add(selector);
directoryScanner = null;
setChecked(false);
}
@@ -844,13 +843,11 @@ public abstract class AbstractFileSet ex
try {
AbstractFileSet fs = (AbstractFileSet) super.clone();
fs.defaultPatterns = (PatternSet) defaultPatterns.clone();
- fs.additionalPatterns = new Vector(additionalPatterns.size());
- Enumeration e = additionalPatterns.elements();
- while (e.hasMoreElements()) {
- fs.additionalPatterns
- .addElement(((PatternSet) e.nextElement()).clone());
+ fs.additionalPatterns = new ArrayList<PatternSet>(additionalPatterns.size());
+ for (PatternSet ps : additionalPatterns) {
+ fs.additionalPatterns.add((PatternSet) ps.clone());
}
- fs.selectors = new Vector(selectors);
+ fs.selectors = new ArrayList<FileSelector>(selectors);
return fs;
} catch (CloneNotSupportedException e) {
throw new BuildException(e);
@@ -898,13 +895,12 @@ public abstract class AbstractFileSet ex
PatternSet ps = (PatternSet) defaultPatterns.clone();
final int count = additionalPatterns.size();
for (int i = 0; i < count; i++) {
- Object o = additionalPatterns.elementAt(i);
- ps.append((PatternSet) o, p);
+ ps.append(additionalPatterns.get(i), p);
}
return ps;
}
- protected synchronized void dieOnCircularReference(Stack stk, Project p)
+ protected synchronized void dieOnCircularReference(Stack<Object> stk, Project p)
throws BuildException {
if (isChecked()) {
return;
@@ -912,14 +908,12 @@ public abstract class AbstractFileSet ex
if (isReference()) {
super.dieOnCircularReference(stk, p);
} else {
- for (Iterator i = selectors.iterator(); i.hasNext(); ) {
- Object o = i.next();
- if (o instanceof DataType) {
- pushAndInvokeCircularReferenceCheck((DataType) o, stk, p);
+ for (FileSelector fileSelector : selectors) {
+ if (fileSelector instanceof DataType) {
+ pushAndInvokeCircularReferenceCheck((DataType) fileSelector, stk, p);
}
}
- for (Iterator i = additionalPatterns.iterator(); i.hasNext(); ) {
- PatternSet ps = (PatternSet) i.next();
+ for (PatternSet ps : additionalPatterns) {
pushAndInvokeCircularReferenceCheck(ps, stk, p);
}
setChecked(true);
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveFileSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveFileSet.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveFileSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveFileSet.java Wed Aug 22 12:32:43 2012
@@ -207,6 +207,7 @@ public abstract class ArchiveFileSet ext
* @throws BuildException if the reference is invalid (circular ref, wrong class, etc).
* @since Ant 1.8
*/
+ // TODO is the above true? AFAICT the calls look circular :/
protected Object getCheckedRef(Project p) {
return getRef(p);
}
@@ -475,7 +476,7 @@ public abstract class ArchiveFileSet ext
*/
public Object clone() {
if (isReference()) {
- return ((ArchiveFileSet) getRef(getProject())).clone();
+ return getCheckedRef(ArchiveFileSet.class, getDataTypeName(), getProject()).clone();
}
return super.clone();
}
@@ -545,7 +546,7 @@ public abstract class ArchiveFileSet ext
}
}
- protected synchronized void dieOnCircularReference(Stack stk, Project p)
+ protected synchronized void dieOnCircularReference(Stack<Object> stk, Project p)
throws BuildException {
if (isChecked()) {
return;
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveScanner.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveScanner.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveScanner.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/ArchiveScanner.java Wed Aug 22 12:32:43 2012
@@ -20,7 +20,6 @@ package org.apache.tools.ant.types;
import java.io.File;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
import java.util.Iterator;
@@ -62,22 +61,22 @@ public abstract class ArchiveScanner ext
/**
* record list of all file zip entries
*/
- private TreeMap fileEntries = new TreeMap();
+ private Map<String, Resource> fileEntries = new TreeMap<String, Resource>();
/**
* record list of all directory zip entries
*/
- private TreeMap dirEntries = new TreeMap();
+ private Map<String, Resource> dirEntries = new TreeMap<String, Resource>();
/**
* record list of matching file zip entries
*/
- private TreeMap matchFileEntries = new TreeMap();
+ private Map<String, Resource> matchFileEntries = new TreeMap<String, Resource>();
/**
* record list of matching directory zip entries
*/
- private TreeMap matchDirEntries = new TreeMap();
+ private Map<String, Resource> matchDirEntries = new TreeMap<String, Resource>();
/**
* encoding of file names.
@@ -159,8 +158,7 @@ public abstract class ArchiveScanner ext
return super.getIncludedFiles();
}
scanme();
- Set s = matchFileEntries.keySet();
- return (String[]) (s.toArray(new String[s.size()]));
+ return matchFileEntries.keySet().toArray(new String[matchFileEntries.size()]);
}
/**
@@ -189,8 +187,7 @@ public abstract class ArchiveScanner ext
return super.getIncludedDirectories();
}
scanme();
- Set s = matchDirEntries.keySet();
- return (String[]) (s.toArray(new String[s.size()]));
+ return matchDirEntries.keySet().toArray(new String[matchDirEntries.size()]);
}
/**
@@ -212,7 +209,7 @@ public abstract class ArchiveScanner ext
* @return an Iterator of Resources.
* @since Ant 1.7
*/
- /* package-private for now */ Iterator getResourceFiles(Project project) {
+ /* package-private for now */ Iterator<Resource> getResourceFiles(Project project) {
if (src == null) {
return new FileResourceIterator(project, getBasedir(), getIncludedFiles());
}
@@ -226,7 +223,7 @@ public abstract class ArchiveScanner ext
* @return an Iterator of Resources.
* @since Ant 1.7
*/
- /* package-private for now */ Iterator getResourceDirectories(Project project) {
+ /* package-private for now */ Iterator<Resource> getResourceDirectories(Project project) {
if (src == null) {
return new FileResourceIterator(project, getBasedir(), getIncludedDirectories());
}
@@ -280,12 +277,12 @@ public abstract class ArchiveScanner ext
// first check if the archive needs to be scanned again
scanme();
if (fileEntries.containsKey(name)) {
- return (Resource) fileEntries.get(name);
+ return fileEntries.get(name);
}
name = trimSeparator(name);
if (dirEntries.containsKey(name)) {
- return (Resource) dirEntries.get(name);
+ return dirEntries.get(name);
}
return new Resource(name);
}
@@ -308,10 +305,10 @@ public abstract class ArchiveScanner ext
*/
protected abstract void fillMapsFromArchive(Resource archive,
String encoding,
- Map fileEntries,
- Map matchFileEntries,
- Map dirEntries,
- Map matchDirEntries);
+ Map<String, Resource> fileEntries,
+ Map<String, Resource> matchFileEntries,
+ Map<String, Resource> dirEntries,
+ Map<String, Resource> matchDirEntries);
/**
* if the datetime of the archive did not change since
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/Assertions.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/Assertions.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/Assertions.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/Assertions.java Wed Aug 22 12:32:43 2012
@@ -22,7 +22,6 @@ import org.apache.tools.ant.BuildExcepti
import org.apache.tools.ant.Project;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
@@ -76,7 +75,7 @@ public class Assertions extends DataType
/**
* list of type BaseAssertion
*/
- private ArrayList assertionList = new ArrayList();
+ private ArrayList<BaseAssertion> assertionList = new ArrayList<BaseAssertion>();
/**
@@ -163,7 +162,7 @@ public class Assertions extends DataType
* for adding to a command line
* @param commandList the command line to format
*/
- public void applyAssertions(List commandList) {
+ public void applyAssertions(List<String> commandList) {
getProject().log("Applying assertions", Project.MSG_DEBUG);
Assertions clause = getFinalReference();
//do the system assertions
@@ -176,9 +175,7 @@ public class Assertions extends DataType
}
//now any inner assertions
- Iterator it = clause.assertionList.iterator();
- while (it.hasNext()) {
- BaseAssertion assertion = (BaseAssertion) it.next();
+ for (BaseAssertion assertion : clause.assertionList) {
String arg = assertion.toCommand();
getProject().log("adding assertion " + arg, Project.MSG_DEBUG);
commandList.add(arg);
@@ -199,9 +196,7 @@ public class Assertions extends DataType
}
//now any inner assertions
- Iterator it = clause.assertionList.iterator();
- while (it.hasNext()) {
- BaseAssertion assertion = (BaseAssertion) it.next();
+ for (BaseAssertion assertion : clause.assertionList) {
String arg = assertion.toCommand();
addVmArgument(command, arg);
}
@@ -212,7 +207,7 @@ public class Assertions extends DataType
* for adding to a command line
* @param commandIterator list of commands
*/
- public void applyAssertions(final ListIterator commandIterator) {
+ public void applyAssertions(final ListIterator<String> commandIterator) {
getProject().log("Applying assertions", Project.MSG_DEBUG);
Assertions clause = getFinalReference();
//do the system assertions
@@ -225,9 +220,7 @@ public class Assertions extends DataType
}
//now any inner assertions
- Iterator it = clause.assertionList.iterator();
- while (it.hasNext()) {
- BaseAssertion assertion = (BaseAssertion) it.next();
+ for (BaseAssertion assertion : clause.assertionList) {
String arg = assertion.toCommand();
getProject().log("adding assertion " + arg, Project.MSG_DEBUG);
commandIterator.add(arg);
@@ -254,7 +247,7 @@ public class Assertions extends DataType
*/
public Object clone() throws CloneNotSupportedException {
Assertions that = (Assertions) super.clone();
- that.assertionList = (ArrayList) assertionList.clone();
+ that.assertionList = new ArrayList<BaseAssertion>(assertionList);
return that;
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/Commandline.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/Commandline.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/Commandline.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/Commandline.java Wed Aug 22 12:32:43 2012
@@ -20,7 +20,6 @@ package org.apache.tools.ant.types;
import java.io.File;
import java.util.StringTokenizer;
-import java.util.Vector;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
@@ -59,7 +58,7 @@ public class Commandline implements Clon
/**
* The arguments of the command
*/
- private Vector arguments = new Vector();
+ private List<Argument> arguments = new ArrayList<Argument>();
/**
* the program to execute
@@ -232,7 +231,7 @@ public class Commandline implements Clon
if (realPos == -1) {
realPos = (executable == null ? 0 : 1);
for (int i = 0; i < position; i++) {
- Argument arg = (Argument) arguments.elementAt(i);
+ Argument arg = (Argument) arguments.get(i);
realPos += arg.getParts().length;
}
}
@@ -306,9 +305,9 @@ public class Commandline implements Clon
public Argument createArgument(boolean insertAtStart) {
Argument argument = new Argument();
if (insertAtStart) {
- arguments.insertElementAt(argument, 0);
+ arguments.add(0, argument);
} else {
- arguments.addElement(argument);
+ arguments.add(argument);
}
return argument;
}
@@ -349,11 +348,9 @@ public class Commandline implements Clon
* @return the commandline as an array of strings.
*/
public String[] getCommandline() {
- List commands = new LinkedList();
- ListIterator list = commands.listIterator();
- addCommandToList(list);
- final String[] result = new String[commands.size()];
- return (String[]) commands.toArray(result);
+ final List<String> commands = new LinkedList<String>();
+ addCommandToList(commands.listIterator());
+ return commands.toArray(new String[commands.size()]);
}
/**
@@ -361,7 +358,7 @@ public class Commandline implements Clon
* @param list the list to add to.
* @since Ant 1.6
*/
- public void addCommandToList(ListIterator list) {
+ public void addCommandToList(ListIterator<String> list) {
if (executable != null) {
list.add(executable);
}
@@ -374,10 +371,9 @@ public class Commandline implements Clon
* @return the arguments as an array of strings.
*/
public String[] getArguments() {
- List result = new ArrayList(arguments.size() * 2);
+ List<String> result = new ArrayList<String>(arguments.size() * 2);
addArgumentsToList(result.listIterator());
- String [] res = new String[result.size()];
- return (String[]) result.toArray(res);
+ return result.toArray(new String[result.size()]);
}
/**
@@ -385,10 +381,10 @@ public class Commandline implements Clon
* @param list the list of arguments.
* @since Ant 1.6
*/
- public void addArgumentsToList(ListIterator list) {
+ public void addArgumentsToList(ListIterator<String> list) {
final int size = arguments.size();
for (int i = 0; i < size; i++) {
- Argument arg = (Argument) arguments.elementAt(i);
+ Argument arg = arguments.get(i);
String[] s = arg.getParts();
if (s != null) {
for (int j = 0; j < s.length; j++) {
@@ -448,7 +444,7 @@ public class Commandline implements Clon
return "";
}
// path containing one or more elements
- final StringBuffer result = new StringBuffer();
+ final StringBuilder result = new StringBuilder();
for (int i = 0; i < line.length; i++) {
if (i > 0) {
result.append(' ');
@@ -475,9 +471,9 @@ public class Commandline implements Clon
final int inQuote = 1;
final int inDoubleQuote = 2;
int state = normal;
- StringTokenizer tok = new StringTokenizer(toProcess, "\"\' ", true);
- Vector v = new Vector();
- StringBuffer current = new StringBuffer();
+ final StringTokenizer tok = new StringTokenizer(toProcess, "\"\' ", true);
+ final ArrayList<String> result = new ArrayList<String>();
+ final StringBuilder current = new StringBuilder();
boolean lastTokenHasBeenQuoted = false;
while (tok.hasMoreTokens()) {
@@ -506,8 +502,8 @@ public class Commandline implements Clon
state = inDoubleQuote;
} else if (" ".equals(nextTok)) {
if (lastTokenHasBeenQuoted || current.length() != 0) {
- v.addElement(current.toString());
- current = new StringBuffer();
+ result.add(current.toString());
+ current.setLength(0);
}
} else {
current.append(nextTok);
@@ -517,14 +513,12 @@ public class Commandline implements Clon
}
}
if (lastTokenHasBeenQuoted || current.length() != 0) {
- v.addElement(current.toString());
+ result.add(current.toString());
}
if (state == inQuote || state == inDoubleQuote) {
throw new BuildException("unbalanced quotes in " + toProcess);
}
- String[] args = new String[v.size()];
- v.copyInto(args);
- return args;
+ return result.toArray(new String[result.size()]);
}
/**
@@ -543,7 +537,7 @@ public class Commandline implements Clon
public Object clone() {
try {
Commandline c = (Commandline) super.clone();
- c.arguments = (Vector) arguments.clone();
+ c.arguments = new ArrayList<Argument>(arguments);
return c;
} catch (CloneNotSupportedException e) {
throw new BuildException(e);
@@ -555,7 +549,7 @@ public class Commandline implements Clon
*/
public void clear() {
executable = null;
- arguments.removeAllElements();
+ arguments.clear();
}
/**
@@ -563,7 +557,7 @@ public class Commandline implements Clon
* another operation.
*/
public void clearArgs() {
- arguments.removeAllElements();
+ arguments.clear();
}
/**
@@ -689,7 +683,7 @@ public class Commandline implements Clon
* @since Ant 1.7
* @return an Iterator.
*/
- public Iterator iterator() {
+ public Iterator<Argument> iterator() {
return arguments.iterator();
}
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/CommandlineJava.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/CommandlineJava.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/CommandlineJava.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/CommandlineJava.java Wed Aug 22 12:32:43 2012
@@ -79,7 +79,7 @@ public class CommandlineJava implements
/** the system properties. */
Properties sys = null;
// CheckStyle:VisibilityModifier ON
- private Vector propertySets = new Vector();
+ private Vector<PropertySet> propertySets = new Vector<PropertySet>();
/**
* Get the properties as an array; this is an override of the
@@ -89,13 +89,12 @@ public class CommandlineJava implements
*/
public String[] getVariables() throws BuildException {
- List definitions = new LinkedList();
- ListIterator list = definitions.listIterator();
- addDefinitionsToList(list);
+ List<String> definitions = new LinkedList<String>();
+ addDefinitionsToList(definitions.listIterator());
if (definitions.size() == 0) {
return null;
} else {
- return (String[]) definitions.toArray(new String[definitions.size()]);
+ return definitions.toArray(new String[definitions.size()]);
}
}
@@ -103,7 +102,7 @@ public class CommandlineJava implements
* Add all definitions (including property sets) to a list.
* @param listIt list iterator supporting add method.
*/
- public void addDefinitionsToList(ListIterator listIt) {
+ public void addDefinitionsToList(ListIterator<String> listIt) {
String[] props = super.getVariables();
if (props != null) {
for (int i = 0; i < props.length; i++) {
@@ -111,7 +110,7 @@ public class CommandlineJava implements
}
}
Properties propertySetProperties = mergePropertySets();
- for (Enumeration e = propertySetProperties.keys();
+ for (Enumeration<?> e = propertySetProperties.keys();
e.hasMoreElements();) {
String key = (String) e.nextElement();
String value = propertySetProperties.getProperty(key);
@@ -138,7 +137,7 @@ public class CommandlineJava implements
try {
sys = System.getProperties();
Properties p = new Properties();
- for (Enumeration e = sys.propertyNames(); e.hasMoreElements();) {
+ for (Enumeration<?> e = sys.propertyNames(); e.hasMoreElements();) {
String name = (String) e.nextElement();
String value = sys.getProperty(name);
if (name != null && value != null) {
@@ -146,8 +145,7 @@ public class CommandlineJava implements
}
}
p.putAll(mergePropertySets());
- for (Enumeration e = variables.elements(); e.hasMoreElements();) {
- Environment.Variable v = (Environment.Variable) e.nextElement();
+ for (Environment.Variable v : variables) {
v.validate();
p.put(v.getKey(), v.getValue());
}
@@ -180,11 +178,12 @@ public class CommandlineJava implements
* @return a cloned instance of SysProperties.
* @exception CloneNotSupportedException for signature.
*/
+ @SuppressWarnings("unchecked")
public Object clone() throws CloneNotSupportedException {
try {
SysProperties c = (SysProperties) super.clone();
- c.variables = (Vector) variables.clone();
- c.propertySets = (Vector) propertySets.clone();
+ c.variables = (Vector<Environment.Variable>) variables.clone();
+ c.propertySets = (Vector<PropertySet>) propertySets.clone();
return c;
} catch (CloneNotSupportedException e) {
return null;
@@ -215,9 +214,7 @@ public class CommandlineJava implements
*/
private Properties mergePropertySets() {
Properties p = new Properties();
- for (Enumeration e = propertySets.elements();
- e.hasMoreElements();) {
- PropertySet ps = (PropertySet) e.nextElement();
+ for (PropertySet ps : propertySets) {
p.putAll(ps.getProperties());
}
return p;
@@ -399,12 +396,11 @@ public class CommandlineJava implements
*/
public String[] getCommandline() {
//create the list
- List commands = new LinkedList();
- final ListIterator listIterator = commands.listIterator();
+ List<String> commands = new LinkedList<String>();
//fill it
- addCommandsToList(listIterator);
+ addCommandsToList(commands.listIterator());
//convert to an array
- return (String[]) commands.toArray(new String[commands.size()]);
+ return commands.toArray(new String[commands.size()]);
}
/**
@@ -412,7 +408,7 @@ public class CommandlineJava implements
* @param listIterator an iterator that supports the add method.
* @since Ant 1.6
*/
- private void addCommandsToList(final ListIterator listIterator) {
+ private void addCommandsToList(final ListIterator<String> listIterator) {
//create the command to run Java, including user specified options
getActualVMCommand().addCommandToList(listIterator);
// properties are part of the vm options...
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/Description.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/Description.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/Description.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/Description.java Wed Aug 22 12:32:43 2012
@@ -25,7 +25,8 @@ import org.apache.tools.ant.UnknownEleme
import org.apache.tools.ant.Target;
import org.apache.tools.ant.helper.ProjectHelperImpl;
-import java.util.Vector;
+import java.util.ArrayList;
+import java.util.List;
/**
@@ -50,7 +51,7 @@ public class Description extends DataTyp
*/
public void addText(String text) {
- ProjectHelper ph = (ProjectHelper) getProject().getReference(ProjectHelper.PROJECTHELPER_REFERENCE);
+ ProjectHelper ph = getProject().getReference(ProjectHelper.PROJECTHELPER_REFERENCE);
if (!(ph instanceof ProjectHelperImpl)) {
// New behavior for delayed task creation. Description
// will be evaluated in Project.getDescription()
@@ -73,31 +74,23 @@ public class Description extends DataTyp
* the targets.
*/
public static String getDescription(Project project) {
- Vector targets = (Vector) project.getReference(ProjectHelper2.REFID_TARGETS);
+ List<Target> targets = project.getReference(ProjectHelper2.REFID_TARGETS);
if (targets == null) {
return null;
}
- StringBuffer description = new StringBuffer();
- final int size = targets.size();
- for (int i = 0; i < size; i++) {
- Target t = (Target) targets.elementAt(i);
+ StringBuilder description = new StringBuilder();
+ for (Target t : targets) {
concatDescriptions(project, t, description);
}
return description.toString();
}
private static void concatDescriptions(Project project, Target t,
- StringBuffer description) {
+ StringBuilder description) {
if (t == null) {
return;
}
- Vector tasks = findElementInTarget(project, t, "description");
- if (tasks == null) {
- return;
- }
- final int size = tasks.size();
- for (int i = 0; i < size; i++) {
- Task task = (Task) tasks.elementAt(i);
+ for (Task task : findElementInTarget(project, t, "description")) {
if (!(task instanceof UnknownElement)) {
continue;
}
@@ -109,13 +102,12 @@ public class Description extends DataTyp
}
}
- private static Vector findElementInTarget(Project project,
+ private static List<Task> findElementInTarget(Project project,
Target t, String name) {
- Task[] tasks = t.getTasks();
- Vector elems = new Vector();
- for (int i = 0; i < tasks.length; i++) {
- if (name.equals(tasks[i].getTaskName())) {
- elems.addElement(tasks[i]);
+ final List<Task> elems = new ArrayList<Task>();
+ for (Task task : t.getTasks()) {
+ if (name.equals(task.getTaskName())) {
+ elems.add(task);
}
}
return elems;
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/EnumeratedAttribute.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/EnumeratedAttribute.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/EnumeratedAttribute.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/EnumeratedAttribute.java Wed Aug 22 12:32:43 2012
@@ -67,7 +67,7 @@ public abstract class EnumeratedAttribut
* http://issues.apache.org/bugzilla/show_bug.cgi?id=14831</a>
*/
public static EnumeratedAttribute getInstance(
- Class/*<? extends EnumeratedAttribute>*/ clazz,
+ Class<? extends EnumeratedAttribute> clazz,
String value) throws BuildException {
if (!EnumeratedAttribute.class.isAssignableFrom(clazz)) {
throw new BuildException(
@@ -75,7 +75,7 @@ public abstract class EnumeratedAttribut
}
EnumeratedAttribute ea = null;
try {
- ea = (EnumeratedAttribute) clazz.newInstance();
+ ea = clazz.newInstance();
} catch (Exception e) {
throw new BuildException(e);
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/FileList.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/FileList.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/FileList.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/FileList.java Wed Aug 22 12:32:43 2012
@@ -19,8 +19,9 @@
package org.apache.tools.ant.types;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
import java.util.StringTokenizer;
-import java.util.Vector;
import java.util.Iterator;
import org.apache.tools.ant.Project;
@@ -36,7 +37,7 @@ import org.apache.tools.ant.types.resour
*/
public class FileList extends DataType implements ResourceCollection {
- private Vector filenames = new Vector();
+ private List<String> filenames = new ArrayList<String>();
private File dir;
/**
@@ -108,7 +109,7 @@ public class FileList extends DataType i
StringTokenizer tok = new StringTokenizer(
filenames, ", \t\n\r\f", false);
while (tok.hasMoreTokens()) {
- this.filenames.addElement(tok.nextToken());
+ this.filenames.add(tok.nextToken());
}
}
}
@@ -131,9 +132,7 @@ public class FileList extends DataType i
throw new BuildException("No files specified for filelist.");
}
- String[] result = new String[filenames.size()];
- filenames.copyInto(result);
- return result;
+ return filenames.toArray(new String[filenames.size()]);
}
/**
@@ -180,7 +179,7 @@ public class FileList extends DataType i
throw new BuildException(
"No name specified in nested file element");
}
- filenames.addElement(name.getName());
+ filenames.add(name.getName());
}
/**
@@ -190,10 +189,10 @@ public class FileList extends DataType i
*/
public Iterator<Resource> iterator() {
if (isReference()) {
- return ((FileList) getRef(getProject())).iterator();
+ return getRef(getProject()).iterator();
}
return new FileResourceIterator(getProject(), dir,
- (String[]) (filenames.toArray(new String[filenames.size()])));
+ filenames.toArray(new String[filenames.size()]));
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSetCollection.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSetCollection.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSetCollection.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSetCollection.java Wed Aug 22 12:32:43 2012
@@ -17,18 +17,8 @@
*/
package org.apache.tools.ant.types;
-// java io classes
-
-
-
-
-// java util classes
-import java.util.Enumeration;
-import java.util.Vector;
-
-// ant classes
-
-
+import java.util.ArrayList;
+import java.util.List;
/**
@@ -38,7 +28,7 @@ import java.util.Vector;
*/
public class FilterSetCollection {
- private Vector filterSets = new Vector();
+ private List<FilterSet> filterSets = new ArrayList<FilterSet>();
/**
* Constructor for a FilterSetCollection.
@@ -61,7 +51,7 @@ public class FilterSetCollection {
* @param filterSet a <code>FilterSet</code> value
*/
public void addFilterSet(FilterSet filterSet) {
- filterSets.addElement(filterSet);
+ filterSets.add(filterSet);
}
/**
@@ -73,8 +63,7 @@ public class FilterSetCollection {
*/
public String replaceTokens(String line) {
String replacedLine = line;
- for (Enumeration e = filterSets.elements(); e.hasMoreElements();) {
- FilterSet filterSet = (FilterSet) e.nextElement();
+ for (FilterSet filterSet : filterSets) {
replacedLine = filterSet.replaceTokens(replacedLine);
}
return replacedLine;
@@ -86,8 +75,7 @@ public class FilterSetCollection {
* @return Return true if there are filter in this set otherwise false.
*/
public boolean hasFilters() {
- for (Enumeration e = filterSets.elements(); e.hasMoreElements();) {
- FilterSet filterSet = (FilterSet) e.nextElement();
+ for (FilterSet filterSet : filterSets) {
if (filterSet.hasFilters()) {
return true;
}
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/Mapper.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/Mapper.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/Mapper.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/Mapper.java Wed Aug 22 12:32:43 2012
@@ -230,8 +230,7 @@ public class Mapper extends DataType imp
}
try {
- FileNameMapper m
- = (FileNameMapper) (getImplementationClass().newInstance());
+ FileNameMapper m = getImplementationClass().newInstance();
final Project p = getProject();
if (p != null) {
p.setProjectReference(m);
@@ -252,7 +251,7 @@ public class Mapper extends DataType imp
* @return <code>Class</code>.
* @throws ClassNotFoundException if the class cannot be found
*/
- protected Class getImplementationClass() throws ClassNotFoundException {
+ protected Class<? extends FileNameMapper> getImplementationClass() throws ClassNotFoundException {
String cName = this.classname;
if (type != null) {
@@ -264,7 +263,7 @@ public class Mapper extends DataType imp
// Memory leak in line below
: getProject().createClassLoader(classpath);
- return Class.forName(cName, true, loader);
+ return Class.forName(cName, true, loader).asSubclass(FileNameMapper.class);
}
/**
@@ -275,7 +274,7 @@ public class Mapper extends DataType imp
* @return the referenced Mapper
*/
protected Mapper getRef() {
- return (Mapper) getCheckedRef();
+ return getCheckedRef(Mapper.class, getDataTypeName());
}
/**
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/PatternSet.java Wed Aug 22 12:32:43 2012
@@ -21,9 +21,9 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
-import java.util.Enumeration;
+import java.util.ArrayList;
+import java.util.List;
import java.util.StringTokenizer;
-import java.util.Vector;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.PropertyHelper;
@@ -37,10 +37,10 @@ import org.apache.tools.ant.util.FileUti
*
*/
public class PatternSet extends DataType implements Cloneable {
- private Vector includeList = new Vector();
- private Vector excludeList = new Vector();
- private Vector includesFileList = new Vector();
- private Vector excludesFileList = new Vector();
+ private List<NameEntry> includeList = new ArrayList<NameEntry>();
+ private List<NameEntry> excludeList = new ArrayList<NameEntry>();
+ private List<NameEntry> includesFileList = new ArrayList<NameEntry>();
+ private List<NameEntry> excludesFileList = new ArrayList<NameEntry>();
/**
* inner class to hold a name on list. "If" and "Unless" attributes
@@ -318,9 +318,9 @@ public class PatternSet extends DataType
/**
* add a name entry to the given list
*/
- private NameEntry addPatternToList(Vector list) {
+ private NameEntry addPatternToList(List<NameEntry> list) {
NameEntry result = new NameEntry();
- list.addElement(result);
+ list.add(result);
return result;
}
@@ -354,7 +354,7 @@ public class PatternSet extends DataType
* Reads path matching patterns from a file and adds them to the
* includes or excludes list (as appropriate).
*/
- private void readPatterns(File patternfile, Vector patternlist, Project p)
+ private void readPatterns(File patternfile, List<NameEntry> patternlist, Project p)
throws BuildException {
BufferedReader patternReader = null;
@@ -458,21 +458,18 @@ public class PatternSet extends DataType
/**
* Convert a vector of NameEntry elements into an array of Strings.
*/
- private String[] makeArray(Vector list, Project p) {
+ private String[] makeArray(List<NameEntry> list, Project p) {
if (list.size() == 0) {
return null;
}
- Vector tmpNames = new Vector();
- for (Enumeration e = list.elements(); e.hasMoreElements();) {
- NameEntry ne = (NameEntry) e.nextElement();
+ ArrayList<String> tmpNames = new ArrayList<String>();
+ for (NameEntry ne : list) {
String pattern = ne.evalName(p);
if (pattern != null && pattern.length() > 0) {
- tmpNames.addElement(pattern);
+ tmpNames.add(pattern);
}
}
- String[] result = new String[tmpNames.size()];
- tmpNames.copyInto(result);
- return result;
+ return tmpNames.toArray(new String[tmpNames.size()]);
}
/**
@@ -480,9 +477,7 @@ public class PatternSet extends DataType
*/
private void readFiles(Project p) {
if (includesFileList.size() > 0) {
- Enumeration e = includesFileList.elements();
- while (e.hasMoreElements()) {
- NameEntry ne = (NameEntry) e.nextElement();
+ for (NameEntry ne : includesFileList) {
String fileName = ne.evalName(p);
if (fileName != null) {
File inclFile = p.resolveFile(fileName);
@@ -493,12 +488,10 @@ public class PatternSet extends DataType
readPatterns(inclFile, includeList, p);
}
}
- includesFileList.removeAllElements();
+ includesFileList.clear();
}
if (excludesFileList.size() > 0) {
- Enumeration e = excludesFileList.elements();
- while (e.hasMoreElements()) {
- NameEntry ne = (NameEntry) e.nextElement();
+ for (NameEntry ne : excludesFileList) {
String fileName = ne.evalName(p);
if (fileName != null) {
File exclFile = p.resolveFile(fileName);
@@ -509,7 +502,7 @@ public class PatternSet extends DataType
readPatterns(exclFile, excludeList, p);
}
}
- excludesFileList.removeAllElements();
+ excludesFileList.clear();
}
}
@@ -527,10 +520,10 @@ public class PatternSet extends DataType
public Object clone() {
try {
PatternSet ps = (PatternSet) super.clone();
- ps.includeList = (Vector) includeList.clone();
- ps.excludeList = (Vector) excludeList.clone();
- ps.includesFileList = (Vector) includesFileList.clone();
- ps.excludesFileList = (Vector) excludesFileList.clone();
+ ps.includeList = new ArrayList<NameEntry>(includeList);
+ ps.excludeList = new ArrayList<NameEntry>(excludeList);
+ ps.includesFileList = new ArrayList<NameEntry>(includesFileList);
+ ps.excludesFileList = new ArrayList<NameEntry>(excludesFileList);
return ps;
} catch (CloneNotSupportedException e) {
throw new BuildException(e);
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/Permissions.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/Permissions.java?rev=1376015&r1=1376014&r2=1376015&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/Permissions.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/Permissions.java Wed Aug 22 12:32:43 2012
@@ -21,7 +21,6 @@ package org.apache.tools.ant.types;
import java.lang.reflect.Constructor;
import java.security.UnresolvedPermission;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
@@ -45,15 +44,15 @@ import org.apache.tools.ant.ExitExceptio
*/
public class Permissions {
- private List grantedPermissions = new LinkedList();
- private List revokedPermissions = new LinkedList();
+ private List<Permission> grantedPermissions = new LinkedList<Permission>();
+ private List<Permission> revokedPermissions = new LinkedList<Permission>();
private java.security.Permissions granted = null;
private SecurityManager origSm = null;
private boolean active = false;
private boolean delegateToOldSM;
// Mandatory constructor for permission object.
- private static final Class[] PARAMS = {String.class, String.class};
+ private static final Class<?>[] PARAMS = {String.class, String.class};
/**
* Create a set of Permissions. Equivalent to calling
@@ -108,14 +107,12 @@ public class Permissions {
*/
private void init() throws BuildException {
granted = new java.security.Permissions();
- for (Iterator i = revokedPermissions.listIterator(); i.hasNext();) {
- Permissions.Permission p = (Permissions.Permission) i.next();
+ for (Permissions.Permission p : revokedPermissions) {
if (p.getClassName() == null) {
throw new BuildException("Revoked permission " + p + " does not contain a class.");
}
}
- for (Iterator i = grantedPermissions.listIterator(); i.hasNext();) {
- Permissions.Permission p = (Permissions.Permission) i.next();
+ for (Permissions.Permission p : grantedPermissions) {
if (p.getClassName() == null) {
throw new BuildException("Granted permission " + p
+ " does not contain a class.");
@@ -153,12 +150,12 @@ public class Permissions {
try {
// First add explicitly already resolved permissions will not be
// resolved when added as unresolved permission.
- Class clazz = Class.forName(permission.getClassName());
+ Class<? extends java.security.Permission> clazz = Class.forName(
+ permission.getClassName()).asSubclass(java.security.Permission.class);
String name = permission.getName();
String actions = permission.getActions();
- Constructor ctr = clazz.getConstructor(PARAMS);
- return (java.security.Permission) ctr.newInstance(new Object[] {
- name, actions });
+ Constructor<? extends java.security.Permission> ctr = clazz.getConstructor(PARAMS);
+ return ctr.newInstance(new Object[] { name, actions });
} catch (Exception e) {
// Let the UnresolvedPermission handle it.
return new UnresolvedPermission(permission.getClassName(),
@@ -232,12 +229,11 @@ public class Permissions {
* @param perm the permission being checked
*/
private void checkRevoked(java.security.Permission perm) {
- for (Iterator i = revokedPermissions.listIterator(); i.hasNext();) {
- if (((Permissions.Permission) i.next()).matches(perm)) {
+ for (Permissions.Permission revoked : revokedPermissions) {
+ if (revoked.matches(perm)) {
throw new SecurityException("Permission " + perm + " was revoked.");
}
}
-
}
}
@@ -246,14 +242,14 @@ public class Permissions {
private String className;
private String name;
private String actionString;
- private Set actions;
+ private Set<String> actions;
/**
* Set the class, mandatory.
* @param aClass The class name of the permission.
*/
public void setClass(String aClass) {
- className = aClass.trim();
+ className = aClass.trim();
}
/**
@@ -319,7 +315,7 @@ public class Permissions {
}
}
if (actions != null) {
- Set as = parseActions(perm.getActions());
+ Set<String> as = parseActions(perm.getActions());
int size = as.size();
as.removeAll(actions);
if (as.size() == size) {
@@ -334,8 +330,8 @@ public class Permissions {
* Parses the actions into a set of separate strings.
* @param actions The actions to be parsed.
*/
- private Set parseActions(String actions) {
- Set result = new HashSet();
+ private Set<String> parseActions(String actions) {
+ Set<String> result = new HashSet<String>();
StringTokenizer tk = new StringTokenizer(actions, ",");
while (tk.hasMoreTokens()) {
String item = tk.nextToken().trim();