| @@ -59,7 +59,7 @@ import org.apache.tools.ant.util.FileUtils; | |||||
| */ | */ | ||||
| public class ComponentHelper { | public class ComponentHelper { | ||||
| /** Map of component name to lists of restricted definitions */ | /** Map of component name to lists of restricted definitions */ | ||||
| private Map<String, List<AntTypeDefinition>> restrictedDefinitions = new HashMap<String, List<AntTypeDefinition>>(); | |||||
| private Map<String, List<AntTypeDefinition>> restrictedDefinitions = new HashMap<String, List<AntTypeDefinition>>(); | |||||
| /** Map from component name to anttypedefinition */ | /** Map from component name to anttypedefinition */ | ||||
| private final Hashtable<String, AntTypeDefinition> antTypeTable = new Hashtable<String, AntTypeDefinition>(); | private final Hashtable<String, AntTypeDefinition> antTypeTable = new Hashtable<String, AntTypeDefinition>(); | ||||
| @@ -146,8 +146,8 @@ public class ComponentHelper { | |||||
| if (project == null) { | if (project == null) { | ||||
| return null; | return null; | ||||
| } | } | ||||
| // Singleton for now, it may change ( per/classloader ) | |||||
| ComponentHelper ph = (ComponentHelper) project.getReference(COMPONENT_HELPER_REFERENCE); | |||||
| // Singleton for now, it may change (per/classloader) | |||||
| ComponentHelper ph = project.getReference(COMPONENT_HELPER_REFERENCE); | |||||
| if (ph != null) { | if (ph != null) { | ||||
| return ph; | return ph; | ||||
| } | } | ||||
| @@ -972,7 +972,7 @@ public class ComponentHelper { | |||||
| out.println("Cause: The constructor threw the exception"); | out.println("Cause: The constructor threw the exception"); | ||||
| out.println(t.toString()); | out.println(t.toString()); | ||||
| t.printStackTrace(out); //NOSONAR | t.printStackTrace(out); //NOSONAR | ||||
| } catch (NoClassDefFoundError ncdfe) { | |||||
| } catch (NoClassDefFoundError ncdfe) { | |||||
| jars = true; | jars = true; | ||||
| out.println("Cause: A class needed by class " + classname | out.println("Cause: A class needed by class " + classname | ||||
| + " cannot be found: "); | + " cannot be found: "); | ||||
| @@ -124,7 +124,7 @@ public class DemuxOutputStream extends OutputStream { | |||||
| */ | */ | ||||
| private void removeBuffer() { | private void removeBuffer() { | ||||
| Thread current = Thread.currentThread(); | Thread current = Thread.currentThread(); | ||||
| buffers.remove (current); | |||||
| buffers.remove(current); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -792,8 +792,7 @@ public class DirectoryScanner | |||||
| System.arraycopy(this.excludes, 0, tmp, 0, | System.arraycopy(this.excludes, 0, tmp, 0, | ||||
| this.excludes.length); | this.excludes.length); | ||||
| for (int i = 0; i < excludes.length; i++) { | for (int i = 0; i < excludes.length; i++) { | ||||
| tmp[this.excludes.length + i] = | |||||
| normalizePattern(excludes[i]); | |||||
| tmp[this.excludes.length + i] = normalizePattern(excludes[i]); | |||||
| } | } | ||||
| this.excludes = tmp; | this.excludes = tmp; | ||||
| } else { | } else { | ||||
| @@ -856,8 +855,7 @@ public class DirectoryScanner | |||||
| while (scanning) { | while (scanning) { | ||||
| try { | try { | ||||
| scanLock.wait(); | scanLock.wait(); | ||||
| } catch (final InterruptedException e) { | |||||
| continue; | |||||
| } catch (final InterruptedException ignored) { | |||||
| } | } | ||||
| } | } | ||||
| if (illegal != null) { | if (illegal != null) { | ||||
| @@ -875,8 +873,7 @@ public class DirectoryScanner | |||||
| // set in/excludes to reasonable defaults if needed: | // set in/excludes to reasonable defaults if needed: | ||||
| final boolean nullIncludes = (includes == null); | final boolean nullIncludes = (includes == null); | ||||
| includes = nullIncludes | |||||
| ? new String[] {SelectorUtils.DEEP_TREE_MATCH} : includes; | |||||
| includes = nullIncludes ? new String[] {SelectorUtils.DEEP_TREE_MATCH} : includes; | |||||
| final boolean nullExcludes = (excludes == null); | final boolean nullExcludes = (excludes == null); | ||||
| excludes = nullExcludes ? new String[0] : excludes; | excludes = nullExcludes ? new String[0] : excludes; | ||||
| @@ -954,8 +951,7 @@ public class DirectoryScanner | |||||
| for (int i = 0; i < includePatterns.length; i++) { | for (int i = 0; i < includePatterns.length; i++) { | ||||
| final String pattern = includePatterns[i].toString(); | final String pattern = includePatterns[i].toString(); | ||||
| if (!shouldSkipPattern(pattern)) { | if (!shouldSkipPattern(pattern)) { | ||||
| newroots.put(includePatterns[i].rtrimWildcardTokens(), | |||||
| pattern); | |||||
| newroots.put(includePatterns[i].rtrimWildcardTokens(), pattern); | |||||
| } | } | ||||
| } | } | ||||
| for (final Map.Entry<String, TokenizedPath> entry : includeNonPatterns.entrySet()) { | for (final Map.Entry<String, TokenizedPath> entry : includeNonPatterns.entrySet()) { | ||||
| @@ -983,8 +979,7 @@ public class DirectoryScanner | |||||
| for (final Map.Entry<TokenizedPath, String> entry : newroots.entrySet()) { | for (final Map.Entry<TokenizedPath, String> entry : newroots.entrySet()) { | ||||
| TokenizedPath currentPath = entry.getKey(); | TokenizedPath currentPath = entry.getKey(); | ||||
| String currentelement = currentPath.toString(); | String currentelement = currentPath.toString(); | ||||
| if (basedir == null | |||||
| && !FileUtils.isAbsolutePath(currentelement)) { | |||||
| if (basedir == null && !FileUtils.isAbsolutePath(currentelement)) { | |||||
| continue; | continue; | ||||
| } | } | ||||
| File myfile = new File(basedir, currentelement); | File myfile = new File(basedir, currentelement); | ||||
| @@ -1003,10 +998,8 @@ public class DirectoryScanner | |||||
| if (myfile != null && basedir != null) { | if (myfile != null && basedir != null) { | ||||
| currentelement = FILE_UTILS.removeLeadingPath( | currentelement = FILE_UTILS.removeLeadingPath( | ||||
| basedir, myfile); | basedir, myfile); | ||||
| if (!currentPath.toString() | |||||
| .equals(currentelement)) { | |||||
| currentPath = | |||||
| new TokenizedPath(currentelement); | |||||
| if (!currentPath.toString().equals(currentelement)) { | |||||
| currentPath = new TokenizedPath(currentelement); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1123,8 +1116,7 @@ public class DirectoryScanner | |||||
| // set in/excludes to reasonable defaults if needed: | // set in/excludes to reasonable defaults if needed: | ||||
| final boolean nullIncludes = (includes == null); | final boolean nullIncludes = (includes == null); | ||||
| includes = nullIncludes | |||||
| ? new String[] {SelectorUtils.DEEP_TREE_MATCH} : includes; | |||||
| includes = nullIncludes ? new String[] {SelectorUtils.DEEP_TREE_MATCH} : includes; | |||||
| final boolean nullExcludes = (excludes == null); | final boolean nullExcludes = (excludes == null); | ||||
| excludes = nullExcludes ? new String[0] : excludes; | excludes = nullExcludes ? new String[0] : excludes; | ||||
| @@ -1294,10 +1286,8 @@ public class DirectoryScanner | |||||
| } else { | } else { | ||||
| everythingIncluded = false; | everythingIncluded = false; | ||||
| dirsNotIncluded.addElement(name); | dirsNotIncluded.addElement(name); | ||||
| if (fast && couldHoldIncluded(newPath) | |||||
| && !contentsExcluded(newPath)) { | |||||
| scandir(file, newPath, fast, children, | |||||
| directoryNamesFollowed); | |||||
| if (fast && couldHoldIncluded(newPath) && !contentsExcluded(newPath)) { | |||||
| scandir(file, newPath, fast, children, directoryNamesFollowed); | |||||
| } | } | ||||
| } | } | ||||
| if (!fast) { | if (!fast) { | ||||
| @@ -1351,10 +1341,8 @@ public class DirectoryScanner | |||||
| } | } | ||||
| private void accountForNotFollowedSymlink(final TokenizedPath name, final File file) { | private void accountForNotFollowedSymlink(final TokenizedPath name, final File file) { | ||||
| if (!isExcluded(name) && | |||||
| (isIncluded(name) | |||||
| || (file.isDirectory() && couldHoldIncluded(name) | |||||
| && !contentsExcluded(name)))) { | |||||
| if (!isExcluded(name) && (isIncluded(name) | |||||
| || (file.isDirectory() && couldHoldIncluded(name) && !contentsExcluded(name)))) { | |||||
| notFollowedSymlinks.add(file.getAbsolutePath()); | notFollowedSymlinks.add(file.getAbsolutePath()); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1383,7 +1371,7 @@ public class DirectoryScanner | |||||
| * Test whether or not a name matches against at least one include | * Test whether or not a name matches against at least one include | ||||
| * pattern. | * pattern. | ||||
| * | * | ||||
| * @param name The name to match. Must not be <code>null</code>. | |||||
| * @param name The path to match. Must not be <code>null</code>. | |||||
| * @return <code>true</code> when the name matches against at least one | * @return <code>true</code> when the name matches against at least one | ||||
| * include pattern, or <code>false</code> otherwise. | * include pattern, or <code>false</code> otherwise. | ||||
| */ | */ | ||||
| @@ -1496,8 +1484,7 @@ public class DirectoryScanner | |||||
| * @since Ant 1.6 | * @since Ant 1.6 | ||||
| */ | */ | ||||
| private boolean isMorePowerfulThanExcludes(final String name) { | private boolean isMorePowerfulThanExcludes(final String name) { | ||||
| final String soughtexclude = | |||||
| name + File.separatorChar + SelectorUtils.DEEP_TREE_MATCH; | |||||
| final String soughtexclude = name + File.separatorChar + SelectorUtils.DEEP_TREE_MATCH; | |||||
| for (int counter = 0; counter < excludePatterns.length; counter++) { | for (int counter = 0; counter < excludePatterns.length; counter++) { | ||||
| if (excludePatterns[counter].toString().equals(soughtexclude)) { | if (excludePatterns[counter].toString().equals(soughtexclude)) { | ||||
| return false; | return false; | ||||
| @@ -1761,8 +1748,7 @@ public class DirectoryScanner | |||||
| public synchronized String[] getNotFollowedSymlinks() { | public synchronized String[] getNotFollowedSymlinks() { | ||||
| String[] links; | String[] links; | ||||
| synchronized (this) { | synchronized (this) { | ||||
| links = notFollowedSymlinks | |||||
| .toArray(new String[notFollowedSymlinks.size()]); | |||||
| links = notFollowedSymlinks.toArray(new String[notFollowedSymlinks.size()]); | |||||
| } | } | ||||
| Arrays.sort(links); | Arrays.sort(links); | ||||
| return links; | return links; | ||||
| @@ -1854,12 +1840,12 @@ public class DirectoryScanner | |||||
| * @param patterns String[] of patterns. | * @param patterns String[] of patterns. | ||||
| * @since Ant 1.8.0 | * @since Ant 1.8.0 | ||||
| */ | */ | ||||
| private TokenizedPattern[] fillNonPatternSet(final Map<String, TokenizedPath> map, final String[] patterns) { | |||||
| private TokenizedPattern[] fillNonPatternSet(final Map<String, TokenizedPath> map, | |||||
| final String[] patterns) { | |||||
| final ArrayList<TokenizedPattern> al = new ArrayList<TokenizedPattern>(patterns.length); | final ArrayList<TokenizedPattern> al = new ArrayList<TokenizedPattern>(patterns.length); | ||||
| for (int i = 0; i < patterns.length; i++) { | for (int i = 0; i < patterns.length; i++) { | ||||
| if (!SelectorUtils.hasWildcards(patterns[i])) { | if (!SelectorUtils.hasWildcards(patterns[i])) { | ||||
| final String s = isCaseSensitive() | |||||
| ? patterns[i] : patterns[i].toUpperCase(); | |||||
| final String s = isCaseSensitive() ? patterns[i] : patterns[i].toUpperCase(); | |||||
| map.put(s, new TokenizedPath(s)); | map.put(s, new TokenizedPath(s)); | ||||
| } else { | } else { | ||||
| al.add(new TokenizedPattern(patterns[i])); | al.add(new TokenizedPattern(patterns[i])); | ||||
| @@ -1883,8 +1869,7 @@ public class DirectoryScanner | |||||
| final LinkedList<String> directoryNamesFollowed) { | final LinkedList<String> directoryNamesFollowed) { | ||||
| try { | try { | ||||
| if (directoryNamesFollowed.size() >= maxLevelsOfSymlinks | if (directoryNamesFollowed.size() >= maxLevelsOfSymlinks | ||||
| && CollectionUtils.frequency(directoryNamesFollowed, dirName) | |||||
| >= maxLevelsOfSymlinks | |||||
| && CollectionUtils.frequency(directoryNamesFollowed, dirName) >= maxLevelsOfSymlinks | |||||
| && SYMLINK_UTILS.isSymbolicLink(parent, dirName)) { | && SYMLINK_UTILS.isSymbolicLink(parent, dirName)) { | ||||
| final ArrayList<String> files = new ArrayList<String>(); | final ArrayList<String> files = new ArrayList<String>(); | ||||
| @@ -1899,8 +1884,7 @@ public class DirectoryScanner | |||||
| f = FILE_UTILS.resolveFile(parent, relPath + dir); | f = FILE_UTILS.resolveFile(parent, relPath + dir); | ||||
| files.add(f.getCanonicalPath()); | files.add(f.getCanonicalPath()); | ||||
| if (files.size() > maxLevelsOfSymlinks | if (files.size() > maxLevelsOfSymlinks | ||||
| && CollectionUtils.frequency(files, target) | |||||
| > maxLevelsOfSymlinks) { | |||||
| && CollectionUtils.frequency(files, target) > maxLevelsOfSymlinks) { | |||||
| return true; | return true; | ||||
| } | } | ||||
| } | } | ||||
| @@ -1125,7 +1125,7 @@ public final class IntrospectionHelper { | |||||
| void set(final Project p, final Object parent, final String value) throws InvocationTargetException, | void set(final Project p, final Object parent, final String value) throws InvocationTargetException, | ||||
| IllegalAccessException, BuildException { | IllegalAccessException, BuildException { | ||||
| m.invoke(parent, new Object[] {new FileResource(p, p.resolveFile(value))}); | m.invoke(parent, new Object[] {new FileResource(p, p.resolveFile(value))}); | ||||
| }; | |||||
| } | |||||
| }; | }; | ||||
| } | } | ||||
| // EnumeratedAttributes have their own helper class | // EnumeratedAttributes have their own helper class | ||||
| @@ -192,12 +192,12 @@ public class Project implements ResourceFactory { | |||||
| private ClassLoader coreLoader = null; | private ClassLoader coreLoader = null; | ||||
| /** Records the latest task to be executed on a thread. */ | /** Records the latest task to be executed on a thread. */ | ||||
| private final Map<Thread,Task> threadTasks = | |||||
| Collections.synchronizedMap(new WeakHashMap<Thread, Task>()); | |||||
| private final Map<Thread, Task> threadTasks | |||||
| = Collections.synchronizedMap(new WeakHashMap<Thread, Task>()); | |||||
| /** Records the latest task to be executed on a thread group. */ | /** Records the latest task to be executed on a thread group. */ | ||||
| private final Map<ThreadGroup,Task> threadGroupTasks | |||||
| = Collections.synchronizedMap(new WeakHashMap<ThreadGroup,Task>()); | |||||
| private final Map<ThreadGroup, Task> threadGroupTasks | |||||
| = Collections.synchronizedMap(new WeakHashMap<ThreadGroup,Task>()); | |||||
| /** | /** | ||||
| * Called to handle any input requests. | * Called to handle any input requests. | ||||
| @@ -593,8 +593,7 @@ public class RuntimeConfigurable implements Serializable { | |||||
| // Children (this is a shadow of UnknownElement#children) | // Children (this is a shadow of UnknownElement#children) | ||||
| if (r.children != null) { | if (r.children != null) { | ||||
| ArrayList<RuntimeConfigurable> newChildren = new ArrayList<RuntimeConfigurable>(); | |||||
| newChildren.addAll(r.children); | |||||
| ArrayList<RuntimeConfigurable> newChildren = new ArrayList<RuntimeConfigurable>(r.children); | |||||
| if (children != null) { | if (children != null) { | ||||
| newChildren.addAll(children); | newChildren.addAll(children); | ||||
| } | } | ||||
| @@ -400,8 +400,7 @@ public class UnknownElement extends Task { | |||||
| // Do the runtime | // Do the runtime | ||||
| getWrapper().applyPreSet(u.getWrapper()); | getWrapper().applyPreSet(u.getWrapper()); | ||||
| if (u.children != null) { | if (u.children != null) { | ||||
| List<UnknownElement> newChildren = new ArrayList<UnknownElement>(); | |||||
| newChildren.addAll(u.children); | |||||
| List<UnknownElement> newChildren = new ArrayList<UnknownElement>(u.children); | |||||
| if (children != null) { | if (children != null) { | ||||
| newChildren.addAll(children); | newChildren.addAll(children); | ||||
| } | } | ||||
| @@ -466,7 +466,7 @@ public class XmlLogger implements BuildLogger { | |||||
| } | } | ||||
| private void synchronizedAppend(Node parent, Node child) { | private void synchronizedAppend(Node parent, Node child) { | ||||
| synchronized(parent) { | |||||
| synchronized (parent) { | |||||
| parent.appendChild(child); | parent.appendChild(child); | ||||
| } | } | ||||
| } | } | ||||
| @@ -176,7 +176,7 @@ public abstract class BaseFilterReader extends FilterReader { | |||||
| StringBuffer line = new StringBuffer(); | StringBuffer line = new StringBuffer(); | ||||
| while (ch != -1) { | while (ch != -1) { | ||||
| line.append ((char) ch); | |||||
| line.append((char) ch); | |||||
| if (ch == '\n') { | if (ch == '\n') { | ||||
| break; | break; | ||||
| } | } | ||||
| @@ -87,7 +87,8 @@ public final class ReplaceTokens | |||||
| * | * | ||||
| * @see BaseFilterReader#BaseFilterReader() | * @see BaseFilterReader#BaseFilterReader() | ||||
| */ | */ | ||||
| public ReplaceTokens() {} | |||||
| public ReplaceTokens() { | |||||
| } | |||||
| /** | /** | ||||
| * Creates a new filtered reader. | * Creates a new filtered reader. | ||||
| @@ -138,12 +139,12 @@ public final class ReplaceTokens | |||||
| if (next == -1) { | if (next == -1) { | ||||
| return next; // end of stream. all buffers empty. | return next; // end of stream. all buffers empty. | ||||
| } | } | ||||
| readBuffer += (char)next; | |||||
| readBuffer += (char) next; | |||||
| } | } | ||||
| for (;;) { | for (;;) { | ||||
| // get the closest tokens | // get the closest tokens | ||||
| SortedMap<String,String> possibleTokens = resolvedTokens.tailMap(readBuffer); | |||||
| SortedMap<String, String> possibleTokens = resolvedTokens.tailMap(readBuffer); | |||||
| if (possibleTokens.isEmpty() || !possibleTokens.firstKey().startsWith(readBuffer)) { // if there is none, then deliver the first char from the buffer. | if (possibleTokens.isEmpty() || !possibleTokens.firstKey().startsWith(readBuffer)) { // if there is none, then deliver the first char from the buffer. | ||||
| return getFirstCharacterFromReadBuffer(); | return getFirstCharacterFromReadBuffer(); | ||||
| } else if (readBuffer.equals(possibleTokens.firstKey())) { // there exists a nearest token - is it an exact match? | } else if (readBuffer.equals(possibleTokens.firstKey())) { // there exists a nearest token - is it an exact match? | ||||
| @@ -156,7 +157,7 @@ public final class ReplaceTokens | |||||
| } else { // nearest token is not matching exactly - read one character more. | } else { // nearest token is not matching exactly - read one character more. | ||||
| int next = in.read(); | int next = in.read(); | ||||
| if (next != -1) { | if (next != -1) { | ||||
| readBuffer += (char)next; | |||||
| readBuffer += (char) next; | |||||
| } else { | } else { | ||||
| return getFirstCharacterFromReadBuffer(); // end of stream. deliver remaining characters from buffer. | return getFirstCharacterFromReadBuffer(); // end of stream. deliver remaining characters from buffer. | ||||
| } | } | ||||
| @@ -120,7 +120,7 @@ public class Launcher { | |||||
| } | } | ||||
| if (exitCode != 0) { | if (exitCode != 0) { | ||||
| if (launchDiag) { | if (launchDiag) { | ||||
| System.out.println("Exit code: "+exitCode); | |||||
| System.out.println("Exit code: " + exitCode); | |||||
| } | } | ||||
| System.exit(exitCode); | System.exit(exitCode); | ||||
| } | } | ||||
| @@ -237,7 +237,7 @@ public class Launcher { | |||||
| } | } | ||||
| } | } | ||||
| logPath("Launcher JAR",sourceJar); | |||||
| logPath("Launcher JAR", sourceJar); | |||||
| logPath("Launcher JAR directory", sourceJar.getParentFile()); | logPath("Launcher JAR directory", sourceJar.getParentFile()); | ||||
| logPath("java.home", new File(System.getProperty("java.home"))); | logPath("java.home", new File(System.getProperty("java.home"))); | ||||
| @@ -256,7 +256,7 @@ public class Launcher { | |||||
| final URL[] userURLs = noUserLib ? new URL[0] : getUserURLs(); | final URL[] userURLs = noUserLib ? new URL[0] : getUserURLs(); | ||||
| final File toolsJAR = Locator.getToolsJar(); | final File toolsJAR = Locator.getToolsJar(); | ||||
| logPath("tools.jar",toolsJAR); | |||||
| logPath("tools.jar", toolsJAR); | |||||
| final URL[] jars = getJarArray( | final URL[] jars = getJarArray( | ||||
| libURLs, userURLs, systemURLs, toolsJAR); | libURLs, userURLs, systemURLs, toolsJAR); | ||||
| @@ -279,7 +279,7 @@ public class Launcher { | |||||
| Thread.currentThread().setContextClassLoader(loader); | Thread.currentThread().setContextClassLoader(loader); | ||||
| Class<?> mainClass = null; | Class<?> mainClass = null; | ||||
| int exitCode = 0; | int exitCode = 0; | ||||
| Throwable thrown=null; | |||||
| Throwable thrown = null; | |||||
| try { | try { | ||||
| mainClass = loader.loadClass(mainClassname); | mainClass = loader.loadClass(mainClassname); | ||||
| final AntMain main = (AntMain) mainClass.newInstance(); | final AntMain main = (AntMain) mainClass.newInstance(); | ||||
| @@ -297,10 +297,10 @@ public class Launcher { | |||||
| thrown = cnfe; | thrown = cnfe; | ||||
| } catch (final Throwable t) { | } catch (final Throwable t) { | ||||
| t.printStackTrace(System.err); //NOSONAR | t.printStackTrace(System.err); //NOSONAR | ||||
| thrown=t; | |||||
| thrown = t; | |||||
| } | } | ||||
| if(thrown!=null) { | |||||
| System.err.println(ANTHOME_PROPERTY+": "+antHome.getAbsolutePath()); | |||||
| if (thrown != null) { | |||||
| System.err.println(ANTHOME_PROPERTY + ": " + antHome.getAbsolutePath()); | |||||
| System.err.println("Classpath: " + baseClassPath.toString()); | System.err.println("Classpath: " + baseClassPath.toString()); | ||||
| System.err.println("Launcher JAR: " + sourceJar.getAbsolutePath()); | System.err.println("Launcher JAR: " + sourceJar.getAbsolutePath()); | ||||
| System.err.println("Launcher Directory: " + jarDir.getAbsolutePath()); | System.err.println("Launcher Directory: " + jarDir.getAbsolutePath()); | ||||
| @@ -374,8 +374,8 @@ public class Launcher { | |||||
| * @return a combined array | * @return a combined array | ||||
| * @throws MalformedURLException if there is a problem. | * @throws MalformedURLException if there is a problem. | ||||
| */ | */ | ||||
| private URL[] getJarArray ( | |||||
| final URL[] libJars, final URL[] userJars, final URL[] systemJars, final File toolsJar) | |||||
| private URL[] getJarArray(final URL[] libJars, final URL[] userJars, | |||||
| final URL[] systemJars, final File toolsJar) | |||||
| throws MalformedURLException { | throws MalformedURLException { | ||||
| int numJars = libJars.length + userJars.length + systemJars.length; | int numJars = libJars.length + userJars.length + systemJars.length; | ||||
| if (toolsJar != null) { | if (toolsJar != null) { | ||||
| @@ -405,7 +405,7 @@ public class Launcher { | |||||
| System.setProperty(name, value); | System.setProperty(name, value); | ||||
| } | } | ||||
| private void logPath(final String name,final File path) { | |||||
| private void logPath(final String name, final File path) { | |||||
| if(launchDiag) { | if(launchDiag) { | ||||
| System.out.println(name+"= \""+path+"\""); | System.out.println(name+"= \""+path+"\""); | ||||
| } | } | ||||
| @@ -401,8 +401,7 @@ public final class Locator { | |||||
| * @deprecated since 1.9, use <code>FileUtils.getFileURL(File)</code> | * @deprecated since 1.9, use <code>FileUtils.getFileURL(File)</code> | ||||
| */ | */ | ||||
| @Deprecated | @Deprecated | ||||
| public static URL fileToURL(File file) | |||||
| throws MalformedURLException { | |||||
| public static URL fileToURL(File file) throws MalformedURLException { | |||||
| return new URL(file.toURI().toASCIIString()); | return new URL(file.toURI().toASCIIString()); | ||||
| } | } | ||||
| @@ -103,8 +103,7 @@ public class CommonsLoggingListener implements BuildListener, BuildLogger { | |||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| public void buildStarted(final BuildEvent event) { | public void buildStarted(final BuildEvent event) { | ||||
| final String categoryString = PROJECT_LOG; | |||||
| final Log log = getLog(categoryString, null); | |||||
| final Log log = getLog(PROJECT_LOG, null); | |||||
| if (initialized) { | if (initialized) { | ||||
| realLog(log, "Build started.", Project.MSG_INFO, null); | realLog(log, "Build started.", Project.MSG_INFO, null); | ||||
| @@ -114,8 +113,7 @@ public class CommonsLoggingListener implements BuildListener, BuildLogger { | |||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| public void buildFinished(final BuildEvent event) { | public void buildFinished(final BuildEvent event) { | ||||
| if (initialized) { | if (initialized) { | ||||
| final String categoryString = PROJECT_LOG; | |||||
| final Log log = getLog(categoryString, event.getProject().getName()); | |||||
| final Log log = getLog(PROJECT_LOG, event.getProject().getName()); | |||||
| if (event.getException() == null) { | if (event.getException() == null) { | ||||
| realLog(log, "Build finished.", Project.MSG_INFO, null); | realLog(log, "Build finished.", Project.MSG_INFO, null); | ||||
| @@ -245,7 +243,7 @@ public class CommonsLoggingListener implements BuildListener, BuildLogger { | |||||
| final Log log = getLog(categoryString, categoryDetail); | final Log log = getLog(categoryString, categoryDetail); | ||||
| final int priority = event.getPriority(); | final int priority = event.getPriority(); | ||||
| final String message = event.getMessage(); | final String message = event.getMessage(); | ||||
| realLog(log, message, priority , null); | |||||
| realLog(log, message, priority, null); | |||||
| } | } | ||||
| } | } | ||||
| @@ -369,7 +369,7 @@ public class Ant extends Task { | |||||
| log("calling target(s) " | log("calling target(s) " | ||||
| + ((locals.size() > 0) ? locals.toString() : "[default]") | + ((locals.size() > 0) ? locals.toString() : "[default]") | ||||
| + " in build file " + antFile, Project.MSG_VERBOSE); | + " in build file " + antFile, Project.MSG_VERBOSE); | ||||
| newProject.setUserProperty(MagicNames.ANT_FILE , antFile); | |||||
| newProject.setUserProperty(MagicNames.ANT_FILE, antFile); | |||||
| String thisAntFile = getProject().getProperty(MagicNames.ANT_FILE); | String thisAntFile = getProject().getProperty(MagicNames.ANT_FILE); | ||||
| // Are we trying to call the target in which we are defined (or | // Are we trying to call the target in which we are defined (or | ||||
| @@ -82,9 +82,8 @@ public class BindTargets extends Task { | |||||
| ProjectHelper.PROJECTHELPER_REFERENCE); | ProjectHelper.PROJECTHELPER_REFERENCE); | ||||
| for (final Iterator<String> itTarget = targets.iterator(); itTarget.hasNext();) { | for (final Iterator<String> itTarget = targets.iterator(); itTarget.hasNext();) { | ||||
| helper.getExtensionStack().add( | |||||
| new String[] {extensionPoint, itTarget.next(), | |||||
| onMissingExtensionPoint.name()}); | |||||
| helper.getExtensionStack().add(new String[] {extensionPoint, | |||||
| itTarget.next(), onMissingExtensionPoint.name()}); | |||||
| } | } | ||||
| } | } | ||||
| @@ -114,7 +114,7 @@ public class CVSPass extends Task { | |||||
| String pwdfile = buf.toString() + cvsRoot + " A" | String pwdfile = buf.toString() + cvsRoot + " A" | ||||
| + mangle(password); | + mangle(password); | ||||
| log("Writing -> " + pwdfile , Project.MSG_DEBUG); | |||||
| log("Writing -> " + pwdfile, Project.MSG_DEBUG); | |||||
| writer = new BufferedWriter(new FileWriter(passFile)); | writer = new BufferedWriter(new FileWriter(passFile)); | ||||
| @@ -490,7 +490,7 @@ public class Checksum extends MatchingTask implements Condition { | |||||
| dis.close(); | dis.close(); | ||||
| fis.close(); | fis.close(); | ||||
| fis = null; | fis = null; | ||||
| byte[] fileDigest = messageDigest.digest (); | |||||
| byte[] fileDigest = messageDigest.digest(); | |||||
| if (totalproperty != null) { | if (totalproperty != null) { | ||||
| allDigests.put(src, fileDigest); | allDigests.put(src, fileDigest); | ||||
| } | } | ||||
| @@ -229,7 +229,7 @@ public class Classloader extends Task { | |||||
| for (int i = 0; i < list.length; i++) { | for (int i = 0; i < list.length; i++) { | ||||
| File f = new File(list[i]); | File f = new File(list[i]); | ||||
| if (f.exists()) { | if (f.exists()) { | ||||
| log("Adding to class loader " + acl + " " + f.getAbsolutePath(), | |||||
| log("Adding to class loader " + acl + " " + f.getAbsolutePath(), | |||||
| Project.MSG_DEBUG); | Project.MSG_DEBUG); | ||||
| acl.addPathElement(f.getAbsolutePath()); | acl.addPathElement(f.getAbsolutePath()); | ||||
| } | } | ||||
| @@ -121,7 +121,8 @@ public abstract class Definer extends DefBase { | |||||
| * @return an array of the allowed values for this attribute. | * @return an array of the allowed values for this attribute. | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {POLICY_FAIL, POLICY_REPORT, POLICY_IGNORE, POLICY_FAILALL}; | |||||
| return new String[] {POLICY_FAIL, POLICY_REPORT, POLICY_IGNORE, | |||||
| POLICY_FAILALL}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -559,8 +559,7 @@ public class Delete extends MatchingTask { | |||||
| } | } | ||||
| if (quiet && failonerror) { | if (quiet && failonerror) { | ||||
| throw new BuildException("quiet and failonerror cannot both be " | |||||
| + "set to true", getLocation()); | |||||
| throw new BuildException("quiet and failonerror cannot both be set to true", getLocation()); | |||||
| } | } | ||||
| // delete the single file | // delete the single file | ||||
| @@ -609,8 +608,7 @@ public class Delete extends MatchingTask { | |||||
| + " which looks like a broken symlink.", | + " which looks like a broken symlink.", | ||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| if (!delete(dir)) { | if (!delete(dir)) { | ||||
| handle("Unable to delete directory " | |||||
| + dir.getAbsolutePath()); | |||||
| handle("Unable to delete directory " + dir.getAbsolutePath()); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -638,13 +636,11 @@ public class Delete extends MatchingTask { | |||||
| fs.setProject(getProject()); | fs.setProject(getProject()); | ||||
| } | } | ||||
| final File fsDir = fs.getDir(); | final File fsDir = fs.getDir(); | ||||
| if (!fs.getErrorOnMissingDir() && | |||||
| (fsDir == null || !fsDir.exists())) { | |||||
| if (!fs.getErrorOnMissingDir() && (fsDir == null || !fsDir.exists())) { | |||||
| continue; | continue; | ||||
| } | } | ||||
| if (fsDir == null) { | if (fsDir == null) { | ||||
| throw new BuildException( | |||||
| "File or Resource without directory or file specified"); | |||||
| throw new BuildException("File or Resource without directory or file specified"); | |||||
| } else if (!fsDir.isDirectory()) { | } else if (!fsDir.isDirectory()) { | ||||
| handle("Directory does not exist: " + fsDir); | handle("Directory does not exist: " + fsDir); | ||||
| } else { | } else { | ||||
| @@ -657,9 +653,11 @@ public class Delete extends MatchingTask { | |||||
| public boolean isFilesystemOnly() { | public boolean isFilesystemOnly() { | ||||
| return true; | return true; | ||||
| } | } | ||||
| public int size() { | public int size() { | ||||
| return files.length; | return files.length; | ||||
| } | } | ||||
| public Iterator<Resource> iterator() { | public Iterator<Resource> iterator() { | ||||
| return new FileResourceIterator(getProject(), | return new FileResourceIterator(getProject(), | ||||
| fsDir, files); | fsDir, files); | ||||
| @@ -667,8 +665,7 @@ public class Delete extends MatchingTask { | |||||
| }); | }); | ||||
| if (includeEmpty) { | if (includeEmpty) { | ||||
| filesetDirs.add(new ReverseDirs(getProject(), fsDir, | filesetDirs.add(new ReverseDirs(getProject(), fsDir, | ||||
| ds | |||||
| .getIncludedDirectories())); | |||||
| ds.getIncludedDirectories())); | |||||
| } | } | ||||
| if (removeNotFollowedSymlinks) { | if (removeNotFollowedSymlinks) { | ||||
| @@ -706,8 +703,7 @@ public class Delete extends MatchingTask { | |||||
| for (Resource r : resourcesToDelete) { | for (Resource r : resourcesToDelete) { | ||||
| // nonexistent resources could only occur if we already | // nonexistent resources could only occur if we already | ||||
| // deleted something from a fileset: | // deleted something from a fileset: | ||||
| File f = r.as(FileProvider.class) | |||||
| .getFile(); | |||||
| File f = r.as(FileProvider.class).getFile(); | |||||
| if (!f.exists()) { | if (!f.exists()) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| @@ -741,8 +737,7 @@ public class Delete extends MatchingTask { | |||||
| private void handle(Exception e) { | private void handle(Exception e) { | ||||
| if (failonerror) { | if (failonerror) { | ||||
| throw (e instanceof BuildException) | |||||
| ? (BuildException) e : new BuildException(e); | |||||
| throw (e instanceof BuildException) ? (BuildException) e : new BuildException(e); | |||||
| } | } | ||||
| log(e, quiet ? Project.MSG_VERBOSE : verbosity); | log(e, quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| } | } | ||||
| @@ -825,8 +820,7 @@ public class Delete extends MatchingTask { | |||||
| log("Deleting " + currDir.getAbsolutePath(), | log("Deleting " + currDir.getAbsolutePath(), | ||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| if (!delete(currDir)) { | if (!delete(currDir)) { | ||||
| handle("Unable to delete directory " | |||||
| + currDir.getAbsolutePath()); | |||||
| handle("Unable to delete directory " + currDir.getAbsolutePath()); | |||||
| } else { | } else { | ||||
| dirCount++; | dirCount++; | ||||
| } | } | ||||
| @@ -834,8 +828,7 @@ public class Delete extends MatchingTask { | |||||
| } | } | ||||
| if (dirCount > 0) { | if (dirCount > 0) { | ||||
| log("Deleted " | |||||
| + dirCount | |||||
| log("Deleted " + dirCount | |||||
| + " director" + (dirCount == 1 ? "y" : "ies") | + " director" + (dirCount == 1 ? "y" : "ies") | ||||
| + " form " + d.getAbsolutePath(), | + " form " + d.getAbsolutePath(), | ||||
| quiet ? Project.MSG_VERBOSE : verbosity); | quiet ? Project.MSG_VERBOSE : verbosity); | ||||
| @@ -108,7 +108,8 @@ public class EchoXML extends XMLFragment { | |||||
| public static final NamespacePolicy DEFAULT | public static final NamespacePolicy DEFAULT | ||||
| = new NamespacePolicy(IGNORE); | = new NamespacePolicy(IGNORE); | ||||
| public NamespacePolicy() {} | |||||
| public NamespacePolicy() { | |||||
| } | |||||
| public NamespacePolicy(String s) { | public NamespacePolicy(String s) { | ||||
| setValue(s); | setValue(s); | ||||
| @@ -318,7 +318,7 @@ public class ExecuteJava implements Runnable, TimeoutObserver { | |||||
| exe.setVMLauncher(true); | exe.setVMLauncher(true); | ||||
| File vmsJavaOptionFile = null; | File vmsJavaOptionFile = null; | ||||
| try { | try { | ||||
| String [] args = new String[command.length - 1]; | |||||
| String[] args = new String[command.length - 1]; | |||||
| System.arraycopy(command, 1, args, 0, command.length - 1); | System.arraycopy(command, 1, args, 0, command.length - 1); | ||||
| vmsJavaOptionFile = JavaEnvUtils.createVmsJavaOptionFile(args); | vmsJavaOptionFile = JavaEnvUtils.createVmsJavaOptionFile(args); | ||||
| //we mark the file to be deleted on exit. | //we mark the file to be deleted on exit. | ||||
| @@ -326,7 +326,7 @@ public class ExecuteJava implements Runnable, TimeoutObserver { | |||||
| //after execution finished, which is much better for long-lived runtimes | //after execution finished, which is much better for long-lived runtimes | ||||
| //though spawning complicates things... | //though spawning complicates things... | ||||
| vmsJavaOptionFile.deleteOnExit(); | vmsJavaOptionFile.deleteOnExit(); | ||||
| String [] vmsCmd = {command[0], "-V", vmsJavaOptionFile.getPath()}; | |||||
| String[] vmsCmd = {command[0], "-V", vmsJavaOptionFile.getPath()}; | |||||
| exe.setCommandline(vmsCmd); | exe.setCommandline(vmsCmd); | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| throw new BuildException("Failed to create a temporary file for \"-V\" switch"); | throw new BuildException("Failed to create a temporary file for \"-V\" switch"); | ||||
| @@ -328,8 +328,7 @@ public class ExecuteOn extends ExecTask { | |||||
| */ | */ | ||||
| protected ExecuteStreamHandler createHandler() throws BuildException { | protected ExecuteStreamHandler createHandler() throws BuildException { | ||||
| //if we have a RedirectorElement, return a decoy | //if we have a RedirectorElement, return a decoy | ||||
| return (redirectorElement == null) | |||||
| ? super.createHandler() : new PumpStreamHandler(); | |||||
| return (redirectorElement == null) ? super.createHandler() : new PumpStreamHandler(); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -394,8 +393,7 @@ public class ExecuteOn extends ExecTask { | |||||
| fileNames.copyInto(s); | fileNames.copyInto(s); | ||||
| for (int j = 0; j < s.length; j++) { | for (int j = 0; j < s.length; j++) { | ||||
| String[] command = getCommandline(s[j], base); | String[] command = getCommandline(s[j], base); | ||||
| log(Commandline.describeCommand(command), | |||||
| Project.MSG_VERBOSE); | |||||
| log(Commandline.describeCommand(command), Project.MSG_VERBOSE); | |||||
| exe.setCommandline(command); | exe.setCommandline(command); | ||||
| if (redirectorElement != null) { | if (redirectorElement != null) { | ||||
| @@ -438,11 +436,9 @@ public class ExecuteOn extends ExecTask { | |||||
| continue; | continue; | ||||
| } | } | ||||
| if ((!res.isDirectory() || !res.isExists()) | |||||
| && !FileDirBoth.DIR.equals(type)) { | |||||
| if ((!res.isDirectory() || !res.isExists()) && !FileDirBoth.DIR.equals(type)) { | |||||
| totalFiles++; | totalFiles++; | ||||
| } else if (res.isDirectory() | |||||
| && !FileDirBoth.FILE.equals(type)) { | |||||
| } else if (res.isDirectory() && !FileDirBoth.FILE.equals(type)) { | |||||
| totalDirs++; | totalDirs++; | ||||
| } else { | } else { | ||||
| continue; | continue; | ||||
| @@ -453,8 +449,7 @@ public class ExecuteOn extends ExecTask { | |||||
| if (!parallel) { | if (!parallel) { | ||||
| String[] command = getCommandline(name, base); | String[] command = getCommandline(name, base); | ||||
| log(Commandline.describeCommand(command), | |||||
| Project.MSG_VERBOSE); | |||||
| log(Commandline.describeCommand(command), Project.MSG_VERBOSE); | |||||
| exe.setCommandline(command); | exe.setCommandline(command); | ||||
| if (redirectorElement != null) { | if (redirectorElement != null) { | ||||
| @@ -479,10 +474,8 @@ public class ExecuteOn extends ExecTask { | |||||
| haveExecuted = true; | haveExecuted = true; | ||||
| } | } | ||||
| if (haveExecuted) { | if (haveExecuted) { | ||||
| log("Applied " + cmdl.getExecutable() + " to " | |||||
| + totalFiles + " file" | |||||
| + (totalFiles != 1 ? "s" : "") + " and " | |||||
| + totalDirs + " director" | |||||
| log("Applied " + cmdl.getExecutable() + " to " + totalFiles + " file" | |||||
| + (totalFiles != 1 ? "s" : "") + " and " + totalDirs + " director" | |||||
| + (totalDirs != 1 ? "ies" : "y") + ".", | + (totalDirs != 1 ? "ies" : "y") + ".", | ||||
| verbose ? Project.MSG_INFO : Project.MSG_VERBOSE); | verbose ? Project.MSG_INFO : Project.MSG_VERBOSE); | ||||
| } | } | ||||
| @@ -504,11 +497,8 @@ public class ExecuteOn extends ExecTask { | |||||
| */ | */ | ||||
| private void logSkippingFileset( | private void logSkippingFileset( | ||||
| String currentType, DirectoryScanner ds, File base) { | String currentType, DirectoryScanner ds, File base) { | ||||
| int includedCount | |||||
| = ((!FileDirBoth.DIR.equals(currentType)) | |||||
| ? ds.getIncludedFilesCount() : 0) | |||||
| + ((!FileDirBoth.FILE.equals(currentType)) | |||||
| ? ds.getIncludedDirsCount() : 0); | |||||
| int includedCount = (!FileDirBoth.DIR.equals(currentType) ? ds.getIncludedFilesCount() : 0) | |||||
| + (!FileDirBoth.FILE.equals(currentType) ? ds.getIncludedDirsCount() : 0); | |||||
| log("Skipping fileset for directory " + base + ". It is " | log("Skipping fileset for directory " + base + ". It is " | ||||
| + ((includedCount > 0) ? "up to date." : "empty."), | + ((includedCount > 0) ? "up to date." : "empty."), | ||||
| @@ -624,9 +614,8 @@ public class ExecuteOn extends ExecTask { | |||||
| if (forwardSlash && fileSeparator != '/') { | if (forwardSlash && fileSeparator != '/') { | ||||
| src = src.replace(fileSeparator, '/'); | src = src.replace(fileSeparator, '/'); | ||||
| } | } | ||||
| if (srcFilePos != null && | |||||
| (srcFilePos.getPrefix().length() > 0 | |||||
| || srcFilePos.getSuffix().length() > 0)) { | |||||
| if (srcFilePos != null && (srcFilePos.getPrefix().length() > 0 | |||||
| || srcFilePos.getSuffix().length() > 0)) { | |||||
| src = srcFilePos.getPrefix() + src + srcFilePos.getSuffix(); | src = srcFilePos.getPrefix() + src + srcFilePos.getSuffix(); | ||||
| } | } | ||||
| result[srcIndex + i] = src; | result[srcIndex + i] = src; | ||||
| @@ -702,8 +691,7 @@ public class ExecuteOn extends ExecTask { | |||||
| File[] b = new File[baseDirs.size()]; | File[] b = new File[baseDirs.size()]; | ||||
| baseDirs.copyInto(b); | baseDirs.copyInto(b); | ||||
| if (maxParallel <= 0 | |||||
| || s.length == 0 /* this is skipEmpty == false */) { | |||||
| if (maxParallel <= 0 || s.length == 0 /* this is skipEmpty == false */) { | |||||
| String[] command = getCommandline(s, b); | String[] command = getCommandline(s, b); | ||||
| log(Commandline.describeCommand(command), Project.MSG_VERBOSE); | log(Commandline.describeCommand(command), Project.MSG_VERBOSE); | ||||
| exe.setCommandline(command); | exe.setCommandline(command); | ||||
| @@ -687,8 +687,8 @@ public class FixCRLF extends MatchingTask implements ChainableReader { | |||||
| * {@inheritDoc}. | * {@inheritDoc}. | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {"asis", "cr", "lf", "crlf", | |||||
| "mac", "unix", "dos"}; | |||||
| return new String[] {"asis", "cr", "lf", "crlf", "mac", "unix", | |||||
| "dos"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -19,7 +19,6 @@ | |||||
| package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
| import java.io.File; | import java.io.File; | ||||
| import java.io.FileNotFoundException; | |||||
| import java.io.FileOutputStream; | import java.io.FileOutputStream; | ||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.io.InputStream; | import java.io.InputStream; | ||||
| @@ -349,7 +348,7 @@ public class Get extends Task { | |||||
| * @param v if "true" then be quiet | * @param v if "true" then be quiet | ||||
| * @since Ant 1.9.4 | * @since Ant 1.9.4 | ||||
| */ | */ | ||||
| public void setQuiet(final boolean v){ | |||||
| public void setQuiet(final boolean v) { | |||||
| this.quiet = v; | this.quiet = v; | ||||
| } | } | ||||
| @@ -626,8 +625,8 @@ public class Get extends Task { | |||||
| private int redirections = 0; | private int redirections = 0; | ||||
| private String userAgent = null; | private String userAgent = null; | ||||
| GetThread(final URL source, final File dest, | |||||
| final boolean h, final long t, final DownloadProgress p, final int l, final String userAgent) { | |||||
| GetThread(final URL source, final File dest, final boolean h, | |||||
| final long t, final DownloadProgress p, final int l, final String userAgent) { | |||||
| this.source = source; | this.source = source; | ||||
| this.dest = dest; | this.dest = dest; | ||||
| hasTimestamp = h; | hasTimestamp = h; | ||||
| @@ -670,34 +669,29 @@ public class Get extends Task { | |||||
| private boolean redirectionAllowed(final URL aSource, final URL aDest) { | private boolean redirectionAllowed(final URL aSource, final URL aDest) { | ||||
| if (!(aSource.getProtocol().equals(aDest.getProtocol()) || (HTTP | |||||
| .equals(aSource.getProtocol()) && HTTPS.equals(aDest | |||||
| .getProtocol())))) { | |||||
| final String message = "Redirection detected from " | |||||
| + aSource.getProtocol() + " to " + aDest.getProtocol() | |||||
| + ". Protocol switch unsafe, not allowed."; | |||||
| if (ignoreErrors) { | |||||
| log(message, logLevel); | |||||
| return false; | |||||
| } else { | |||||
| if (aSource.getProtocol().equals(aDest.getProtocol()) | |||||
| && (HTTP.equals(aSource.getProtocol()) || HTTPS.equals(aDest.getProtocol()))) { | |||||
| redirections++; | |||||
| if (redirections > REDIRECT_LIMIT) { | |||||
| final String message = "More than " + REDIRECT_LIMIT | |||||
| + " times redirected, giving up"; | |||||
| if (ignoreErrors) { | |||||
| log(message, logLevel); | |||||
| return false; | |||||
| } | |||||
| throw new BuildException(message); | throw new BuildException(message); | ||||
| } | } | ||||
| return true; | |||||
| } | } | ||||
| redirections++; | |||||
| if (redirections > REDIRECT_LIMIT) { | |||||
| final String message = "More than " + REDIRECT_LIMIT | |||||
| + " times redirected, giving up"; | |||||
| if (ignoreErrors) { | |||||
| log(message, logLevel); | |||||
| return false; | |||||
| } else { | |||||
| throw new BuildException(message); | |||||
| } | |||||
| final String message = "Redirection detected from " | |||||
| + aSource.getProtocol() + " to " + aDest.getProtocol() | |||||
| + ". Protocol switch unsafe, not allowed."; | |||||
| if (ignoreErrors) { | |||||
| log(message, logLevel); | |||||
| return false; | |||||
| } | } | ||||
| return true; | |||||
| throw new BuildException(message); | |||||
| } | } | ||||
| private URLConnection openConnection(final URL aSource) throws IOException { | private URLConnection openConnection(final URL aSource) throws IOException { | ||||
| @@ -721,8 +715,7 @@ public class Get extends Task { | |||||
| // testing | // testing | ||||
| final Base64Converter encoder = new Base64Converter(); | final Base64Converter encoder = new Base64Converter(); | ||||
| encoding = encoder.encode(up.getBytes()); | encoding = encoder.encode(up.getBytes()); | ||||
| connection.setRequestProperty("Authorization", "Basic " | |||||
| + encoding); | |||||
| connection.setRequestProperty("Authorization", "Basic " + encoding); | |||||
| } | } | ||||
| if (tryGzipEncoding) { | if (tryGzipEncoding) { | ||||
| @@ -730,10 +723,8 @@ public class Get extends Task { | |||||
| } | } | ||||
| if (connection instanceof HttpURLConnection) { | if (connection instanceof HttpURLConnection) { | ||||
| ((HttpURLConnection) connection) | |||||
| .setInstanceFollowRedirects(false); | |||||
| ((HttpURLConnection) connection) | |||||
| .setUseCaches(httpUseCaches); | |||||
| ((HttpURLConnection) connection).setInstanceFollowRedirects(false); | |||||
| connection.setUseCaches(httpUseCaches); | |||||
| } | } | ||||
| // connect to the remote site (may take some time) | // connect to the remote site (may take some time) | ||||
| try { | try { | ||||
| @@ -791,14 +782,13 @@ public class Get extends Task { | |||||
| } | } | ||||
| private boolean isMoved(final int responseCode) { | private boolean isMoved(final int responseCode) { | ||||
| return responseCode == HttpURLConnection.HTTP_MOVED_PERM || | |||||
| responseCode == HttpURLConnection.HTTP_MOVED_TEMP || | |||||
| responseCode == HttpURLConnection.HTTP_SEE_OTHER || | |||||
| responseCode == HTTP_MOVED_TEMP; | |||||
| return responseCode == HttpURLConnection.HTTP_MOVED_PERM | |||||
| || responseCode == HttpURLConnection.HTTP_MOVED_TEMP | |||||
| || responseCode == HttpURLConnection.HTTP_SEE_OTHER | |||||
| || responseCode == HTTP_MOVED_TEMP; | |||||
| } | } | ||||
| private boolean downloadFile() | |||||
| throws FileNotFoundException, IOException { | |||||
| private boolean downloadFile() throws IOException { | |||||
| for (int i = 0; i < numberRetries; i++) { | for (int i = 0; i < numberRetries; i++) { | ||||
| // this three attempt trick is to get round quirks in different | // this three attempt trick is to get round quirks in different | ||||
| // Java implementations. Some of them take a few goes to bind | // Java implementations. Some of them take a few goes to bind | ||||
| @@ -855,9 +845,7 @@ public class Get extends Task { | |||||
| if (verbose) { | if (verbose) { | ||||
| final Date t = new Date(remoteTimestamp); | final Date t = new Date(remoteTimestamp); | ||||
| log("last modified = " + t.toString() | log("last modified = " + t.toString() | ||||
| + ((remoteTimestamp == 0) | |||||
| ? " - using current time instead" | |||||
| : ""), logLevel); | |||||
| + ((remoteTimestamp == 0) ? " - using current time instead" : ""), logLevel); | |||||
| } | } | ||||
| if (remoteTimestamp != 0) { | if (remoteTimestamp != 0) { | ||||
| FILE_UTILS.setFileLastModified(dest, remoteTimestamp); | FILE_UTILS.setFileLastModified(dest, remoteTimestamp); | ||||
| @@ -242,7 +242,7 @@ public class HostInfo extends Task { | |||||
| int idx = fqdn.indexOf('.'); | int idx = fqdn.indexOf('.'); | ||||
| if (idx > 0) { | if (idx > 0) { | ||||
| setProperty(NAME, fqdn.substring(0, idx)); | setProperty(NAME, fqdn.substring(0, idx)); | ||||
| setProperty(DOMAIN, fqdn.substring(idx+1)); | |||||
| setProperty(DOMAIN, fqdn.substring(idx + 1)); | |||||
| } else { | } else { | ||||
| setProperty(NAME, fqdn); | setProperty(NAME, fqdn); | ||||
| setProperty(DOMAIN, DEF_DOMAIN); | setProperty(DOMAIN, DEF_DOMAIN); | ||||
| @@ -122,11 +122,10 @@ public class Input extends Task { | |||||
| public static class HandlerType extends EnumeratedAttribute { | public static class HandlerType extends EnumeratedAttribute { | ||||
| private static final String[] VALUES = {"default", "propertyfile", "greedy", "secure"}; | private static final String[] VALUES = {"default", "propertyfile", "greedy", "secure"}; | ||||
| private static final InputHandler[] HANDLERS | |||||
| = {new DefaultInputHandler(), | |||||
| new PropertyFileInputHandler(), | |||||
| new GreedyInputHandler(), | |||||
| new SecureInputHandler()}; | |||||
| private static final InputHandler[] HANDLERS = {new DefaultInputHandler(), | |||||
| new PropertyFileInputHandler(), | |||||
| new GreedyInputHandler(), | |||||
| new SecureInputHandler()}; | |||||
| /** {@inheritDoc} */ | /** {@inheritDoc} */ | ||||
| @Override | @Override | ||||
| @@ -153,7 +152,7 @@ public class Input extends Task { | |||||
| * | * | ||||
| * @param validargs A comma separated String defining valid input args. | * @param validargs A comma separated String defining valid input args. | ||||
| */ | */ | ||||
| public void setValidargs (final String validargs) { | |||||
| public void setValidargs(final String validargs) { | |||||
| this.validargs = validargs; | this.validargs = validargs; | ||||
| } | } | ||||
| @@ -164,7 +163,7 @@ public class Input extends Task { | |||||
| * | * | ||||
| * @param addproperty Name for the property to be created from input | * @param addproperty Name for the property to be created from input | ||||
| */ | */ | ||||
| public void setAddproperty (final String addproperty) { | |||||
| public void setAddproperty(final String addproperty) { | |||||
| this.addproperty = addproperty; | this.addproperty = addproperty; | ||||
| } | } | ||||
| @@ -172,7 +171,7 @@ public class Input extends Task { | |||||
| * Sets the Message which gets displayed to the user during the build run. | * Sets the Message which gets displayed to the user during the build run. | ||||
| * @param message The message to be displayed. | * @param message The message to be displayed. | ||||
| */ | */ | ||||
| public void setMessage (final String message) { | |||||
| public void setMessage(final String message) { | |||||
| this.message = message; | this.message = message; | ||||
| messageAttribute = true; | messageAttribute = true; | ||||
| } | } | ||||
| @@ -184,7 +183,7 @@ public class Input extends Task { | |||||
| * @param defaultvalue Default value for the property if no input | * @param defaultvalue Default value for the property if no input | ||||
| * is received | * is received | ||||
| */ | */ | ||||
| public void setDefaultvalue (final String defaultvalue) { | |||||
| public void setDefaultvalue(final String defaultvalue) { | |||||
| this.defaultvalue = defaultvalue; | this.defaultvalue = defaultvalue; | ||||
| } | } | ||||
| @@ -210,7 +209,7 @@ public class Input extends Task { | |||||
| * @throws BuildException on error | * @throws BuildException on error | ||||
| */ | */ | ||||
| @Override | @Override | ||||
| public void execute () throws BuildException { | |||||
| public void execute() throws BuildException { | |||||
| if (addproperty != null | if (addproperty != null | ||||
| && getProject().getProperty(addproperty) != null) { | && getProject().getProperty(addproperty) != null) { | ||||
| log("skipping " + getTaskName() + " as property " + addproperty | log("skipping " + getTaskName() + " as property " + addproperty | ||||
| @@ -1180,9 +1180,7 @@ public class Jar extends Zip { | |||||
| if (rcs[i] instanceof FileSet) { | if (rcs[i] instanceof FileSet) { | ||||
| resources = grabResources(new FileSet[] {(FileSet) rcs[i]}); | resources = grabResources(new FileSet[] {(FileSet) rcs[i]}); | ||||
| } else { | } else { | ||||
| resources = grabNonFileSetResources(new ResourceCollection[] { | |||||
| rcs[i] | |||||
| }); | |||||
| resources = grabNonFileSetResources(new ResourceCollection[] {rcs[i]}); | |||||
| } | } | ||||
| for (int j = 0; j < resources[0].length; j++) { | for (int j = 0; j < resources[0].length; j++) { | ||||
| String name = resources[0][j].getName().replace('\\', '/'); | String name = resources[0][j].getName().replace('\\', '/'); | ||||
| @@ -1227,7 +1225,7 @@ public class Jar extends Zip { | |||||
| * @return the list of values. | * @return the list of values. | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[]{"fail", "warn", "ignore"}; | |||||
| return new String[] {"fail", "warn", "ignore"}; | |||||
| } | } | ||||
| /** | /** | ||||
| * @return The log level according to the strict mode. | * @return The log level according to the strict mode. | ||||
| @@ -1671,9 +1671,8 @@ public class Javac extends MatchingTask { | |||||
| throw new BuildException("The modulesourcepath entry must contain at most one module mark"); | throw new BuildException("The modulesourcepath entry must contain at most one module mark"); | ||||
| } | } | ||||
| final String pathToModule = pattern.substring(0, startIndex); | final String pathToModule = pattern.substring(0, startIndex); | ||||
| final String pathInModule = endIndex == pattern.length() ? | |||||
| null : | |||||
| pattern.substring(endIndex + 1); //+1 the separator | |||||
| final String pathInModule = endIndex == pattern.length() | |||||
| ? null : pattern.substring(endIndex + 1); //+1 the separator | |||||
| findModules(root, pathToModule, pathInModule, collector); | findModules(root, pathToModule, pathInModule, collector); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1334,7 +1334,7 @@ public class Javadoc extends Task { | |||||
| private String scope = "a"; | private String scope = "a"; | ||||
| /** Sole constructor. */ | /** Sole constructor. */ | ||||
| public TagArgument () { | |||||
| public TagArgument() { | |||||
| //empty | //empty | ||||
| } | } | ||||
| @@ -1344,7 +1344,7 @@ public class Javadoc extends Task { | |||||
| * @param name The name of the tag. | * @param name The name of the tag. | ||||
| * Must not be <code>null</code> or empty. | * Must not be <code>null</code> or empty. | ||||
| */ | */ | ||||
| public void setName (final String name) { | |||||
| public void setName(final String name) { | |||||
| this.name = name; | this.name = name; | ||||
| } | } | ||||
| @@ -1364,7 +1364,7 @@ public class Javadoc extends Task { | |||||
| * elements are specified, or if any unrecognised elements are | * elements are specified, or if any unrecognised elements are | ||||
| * specified. | * specified. | ||||
| */ | */ | ||||
| public void setScope (String verboseScope) throws BuildException { | |||||
| public void setScope(String verboseScope) throws BuildException { | |||||
| verboseScope = verboseScope.toLowerCase(Locale.ENGLISH); | verboseScope = verboseScope.toLowerCase(Locale.ENGLISH); | ||||
| final boolean[] elements = new boolean[SCOPE_ELEMENTS.length]; | final boolean[] elements = new boolean[SCOPE_ELEMENTS.length]; | ||||
| @@ -1374,7 +1374,7 @@ public class Javadoc extends Task { | |||||
| // Go through the tokens one at a time, updating the | // Go through the tokens one at a time, updating the | ||||
| // elements array and issuing warnings where appropriate. | // elements array and issuing warnings where appropriate. | ||||
| final StringTokenizer tok = new StringTokenizer (verboseScope, ","); | |||||
| final StringTokenizer tok = new StringTokenizer(verboseScope, ","); | |||||
| while (tok.hasMoreTokens()) { | while (tok.hasMoreTokens()) { | ||||
| final String next = tok.nextToken().trim(); | final String next = tok.nextToken().trim(); | ||||
| if (next.equals("all")) { | if (next.equals("all")) { | ||||
| @@ -1430,7 +1430,7 @@ public class Javadoc extends Task { | |||||
| * | * | ||||
| * @param enabled Whether or not this tag is enabled. | * @param enabled Whether or not this tag is enabled. | ||||
| */ | */ | ||||
| public void setEnabled (final boolean enabled) { | |||||
| public void setEnabled(final boolean enabled) { | |||||
| this.enabled = enabled; | this.enabled = enabled; | ||||
| } | } | ||||
| @@ -176,18 +176,18 @@ public class KeySubst extends Task { | |||||
| while ((index = origString.indexOf("${", i)) > -1) { | while ((index = origString.indexOf("${", i)) > -1) { | ||||
| key = origString.substring(index + 2, origString.indexOf("}", | key = origString.substring(index + 2, origString.indexOf("}", | ||||
| index + 3)); | index + 3)); | ||||
| finalString.append (origString.substring(i, index)); | |||||
| finalString.append(origString.substring(i, index)); | |||||
| if (keys.containsKey(key)) { | if (keys.containsKey(key)) { | ||||
| finalString.append (keys.get(key)); | |||||
| finalString.append(keys.get(key)); | |||||
| } else { | } else { | ||||
| finalString.append ("${"); | |||||
| finalString.append (key); | |||||
| finalString.append ("}"); | |||||
| finalString.append("${"); | |||||
| finalString.append(key); | |||||
| finalString.append("}"); | |||||
| } | } | ||||
| i = index + 3 + key.length(); | i = index + 3 + key.length(); | ||||
| } | } | ||||
| // CheckStyle:MagicNumber ON | // CheckStyle:MagicNumber ON | ||||
| finalString.append (origString.substring(i)); | |||||
| finalString.append(origString.substring(i)); | |||||
| return finalString.toString(); | return finalString.toString(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -170,7 +170,7 @@ public class PathConvert extends Task { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[]{"windows", "unix", "netware", "os/2", "tandem"}; | |||||
| return new String[] {"windows", "unix", "netware", "os/2", "tandem"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -514,7 +514,7 @@ public class Replace extends MatchingTask { | |||||
| Properties props = getProperties(replaceFilterResource); | Properties props = getProperties(replaceFilterResource); | ||||
| Iterator e = getOrderedIterator(props); | Iterator e = getOrderedIterator(props); | ||||
| while (e.hasNext()) { | while (e.hasNext()) { | ||||
| String tok = e.next().toString(); | |||||
| String tok = e.next().toString(); | |||||
| Replacefilter replaceFilter = createReplacefilter(); | Replacefilter replaceFilter = createReplacefilter(); | ||||
| replaceFilter.setToken(tok); | replaceFilter.setToken(tok); | ||||
| replaceFilter.setValue(props.getProperty(tok)); | replaceFilter.setValue(props.getProperty(tok)); | ||||
| @@ -1109,9 +1109,9 @@ public class SQLExec extends JDBCTask { | |||||
| public int lastDelimiterPosition(StringBuffer buf, String currentLine) { | public int lastDelimiterPosition(StringBuffer buf, String currentLine) { | ||||
| if (strictDelimiterMatching) { | if (strictDelimiterMatching) { | ||||
| if ((delimiterType.equals(DelimiterType.NORMAL) | if ((delimiterType.equals(DelimiterType.NORMAL) | ||||
| && StringUtils.endsWith(buf, delimiter)) || | |||||
| (delimiterType.equals(DelimiterType.ROW) | |||||
| && currentLine.equals(delimiter))) { | |||||
| && StringUtils.endsWith(buf, delimiter)) | |||||
| || (delimiterType.equals(DelimiterType.ROW) | |||||
| && currentLine.equals(delimiter))) { | |||||
| return buf.length() - delimiter.length(); | return buf.length() - delimiter.length(); | ||||
| } | } | ||||
| // no match | // no match | ||||
| @@ -1123,17 +1123,15 @@ public class SQLExec extends JDBCTask { | |||||
| // StringUtils.endsWith | // StringUtils.endsWith | ||||
| int endIndex = delimiter.length() - 1; | int endIndex = delimiter.length() - 1; | ||||
| int bufferIndex = buf.length() - 1; | int bufferIndex = buf.length() - 1; | ||||
| while (bufferIndex >= 0 | |||||
| && Character.isWhitespace(buf.charAt(bufferIndex))) { | |||||
| while (bufferIndex >= 0 && Character.isWhitespace(buf.charAt(bufferIndex))) { | |||||
| --bufferIndex; | --bufferIndex; | ||||
| } | } | ||||
| if (bufferIndex < endIndex) { | if (bufferIndex < endIndex) { | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| while (endIndex >= 0) { | while (endIndex >= 0) { | ||||
| if (buf.substring(bufferIndex, bufferIndex + 1) | |||||
| .toLowerCase(Locale.ENGLISH).charAt(0) | |||||
| != d.charAt(endIndex)) { | |||||
| if (buf.substring(bufferIndex, bufferIndex + 1).toLowerCase(Locale.ENGLISH) | |||||
| .charAt(0) != d.charAt(endIndex)) { | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| bufferIndex--; | bufferIndex--; | ||||
| @@ -143,7 +143,7 @@ public class StreamPumper implements Runnable { | |||||
| } | } | ||||
| // On completion, drain any available data (which might be the first data available for quick executions) | // On completion, drain any available data (which might be the first data available for quick executions) | ||||
| if (finish) { | if (finish) { | ||||
| while((length = is.available()) > 0) { | |||||
| while ((length = is.available()) > 0) { | |||||
| if (Thread.interrupted()) { | if (Thread.interrupted()) { | ||||
| break; | break; | ||||
| } | } | ||||
| @@ -987,7 +987,7 @@ public class Tar extends MatchingTask { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {NONE, GZIP, BZIP2 }; | |||||
| return new String[] {NONE, GZIP, BZIP2}; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -77,14 +77,14 @@ public class Tstamp extends Task { | |||||
| cts.execute(getProject(), d, getLocation()); | cts.execute(getProject(), d, getLocation()); | ||||
| } | } | ||||
| SimpleDateFormat dstamp = new SimpleDateFormat ("yyyyMMdd"); | |||||
| SimpleDateFormat dstamp = new SimpleDateFormat("yyyyMMdd"); | |||||
| setProperty("DSTAMP", dstamp.format(d)); | setProperty("DSTAMP", dstamp.format(d)); | ||||
| SimpleDateFormat tstamp = new SimpleDateFormat ("HHmm"); | |||||
| SimpleDateFormat tstamp = new SimpleDateFormat("HHmm"); | |||||
| setProperty("TSTAMP", tstamp.format(d)); | setProperty("TSTAMP", tstamp.format(d)); | ||||
| SimpleDateFormat today | SimpleDateFormat today | ||||
| = new SimpleDateFormat ("MMMM d yyyy", Locale.US); | |||||
| = new SimpleDateFormat("MMMM d yyyy", Locale.US); | |||||
| setProperty("TODAY", today.format(d)); | setProperty("TODAY", today.format(d)); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -189,16 +189,14 @@ public class Tstamp extends Task { | |||||
| if (st.hasMoreElements()) { | if (st.hasMoreElements()) { | ||||
| variant = st.nextToken(); | variant = st.nextToken(); | ||||
| if (st.hasMoreElements()) { | if (st.hasMoreElements()) { | ||||
| throw new BuildException("bad locale format", | |||||
| getLocation()); | |||||
| throw new BuildException("bad locale format", getLocation()); | |||||
| } | } | ||||
| } | } | ||||
| } else { | } else { | ||||
| country = ""; | country = ""; | ||||
| } | } | ||||
| } catch (NoSuchElementException e) { | } catch (NoSuchElementException e) { | ||||
| throw new BuildException("bad locale format", e, | |||||
| getLocation()); | |||||
| throw new BuildException("bad locale format", e, getLocation()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -266,25 +264,20 @@ public class Tstamp extends Task { | |||||
| */ | */ | ||||
| public void execute(Project project, Date date, Location location) { | public void execute(Project project, Date date, Location location) { | ||||
| if (propertyName == null) { | if (propertyName == null) { | ||||
| throw new BuildException("property attribute must be provided", | |||||
| location); | |||||
| throw new BuildException("property attribute must be provided", location); | |||||
| } | } | ||||
| if (pattern == null) { | if (pattern == null) { | ||||
| throw new BuildException("pattern attribute must be provided", | |||||
| location); | |||||
| throw new BuildException("pattern attribute must be provided", location); | |||||
| } | } | ||||
| SimpleDateFormat sdf; | SimpleDateFormat sdf; | ||||
| if (language == null) { | if (language == null) { | ||||
| sdf = new SimpleDateFormat(pattern); | sdf = new SimpleDateFormat(pattern); | ||||
| } else if (variant == null) { | } else if (variant == null) { | ||||
| sdf = new SimpleDateFormat(pattern, | |||||
| new Locale(language, country)); | |||||
| sdf = new SimpleDateFormat(pattern, new Locale(language, country)); | |||||
| } else { | } else { | ||||
| sdf = new SimpleDateFormat(pattern, | |||||
| new Locale(language, country, | |||||
| variant)); | |||||
| sdf = new SimpleDateFormat(pattern, new Locale(language, country, variant)); | |||||
| } | } | ||||
| if (offset != 0) { | if (offset != 0) { | ||||
| Calendar calendar = Calendar.getInstance(); | Calendar calendar = Calendar.getInstance(); | ||||
| @@ -1310,10 +1310,10 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||||
| if (p.shouldUse()) { | if (p.shouldUse()) { | ||||
| final Object evaluatedParam = evaluateParam(p); | final Object evaluatedParam = evaluateParam(p); | ||||
| if (liaison instanceof XSLTLiaison4) { | if (liaison instanceof XSLTLiaison4) { | ||||
| ((XSLTLiaison4)liaison).addParam(p.getName(), evaluatedParam); | |||||
| ((XSLTLiaison4) liaison).addParam(p.getName(), evaluatedParam); | |||||
| } else { | } else { | ||||
| if (evaluatedParam == null || evaluatedParam instanceof String) { | if (evaluatedParam == null || evaluatedParam instanceof String) { | ||||
| liaison.addParam(p.getName(), (String)evaluatedParam); | |||||
| liaison.addParam(p.getName(), (String) evaluatedParam); | |||||
| } else { | } else { | ||||
| log("XSLTLiaison '" + liaison.getClass().getName() | log("XSLTLiaison '" + liaison.getClass().getName() | ||||
| + "' supports only String parameters. Converting parameter '" + p.getName() | + "' supports only String parameters. Converting parameter '" + p.getName() | ||||
| @@ -1398,7 +1398,7 @@ public class XSLTProcess extends MatchingTask implements XSLTLogger { | |||||
| final String fileName = FileUtils.getRelativePath(baseDir, inFile); | final String fileName = FileUtils.getRelativePath(baseDir, inFile); | ||||
| final File file = new File(fileName); | final File file = new File(fileName); | ||||
| // Give always a slash as file separator, so the stylesheet could be sure about that | // Give always a slash as file separator, so the stylesheet could be sure about that | ||||
| // Use '.' so a dir+"/"+name would not result in an absolute path | |||||
| // Use '.' so a dir + "/" + name would not result in an absolute path | |||||
| liaison.addParam(fileDirParameter, file.getParent() != null ? file.getParent().replace( | liaison.addParam(fileDirParameter, file.getParent() != null ? file.getParent().replace( | ||||
| '\\', '/') : "."); | '\\', '/') : "."); | ||||
| } | } | ||||
| @@ -335,7 +335,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| * either a String if this node resulted in setting an attribute, | * either a String if this node resulted in setting an attribute, | ||||
| * or a Path. | * or a Path. | ||||
| */ | */ | ||||
| public Object processNode (Node node, String prefix, Object container) { | |||||
| public Object processNode(Node node, String prefix, Object container) { | |||||
| // Parse the attribute(s) and text of this node, adding | // Parse the attribute(s) and text of this node, adding | ||||
| // properties for each. | // properties for each. | ||||
| @@ -465,7 +465,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| * Actually add the given property/value to the project | * Actually add the given property/value to the project | ||||
| * after writing a log message. | * after writing a log message. | ||||
| */ | */ | ||||
| private void addProperty (String name, String value, String id) { | |||||
| private void addProperty(String name, String value, String id) { | |||||
| String msg = name + ":" + value; | String msg = name + ":" + value; | ||||
| if (id != null) { | if (id != null) { | ||||
| msg += ("(id=" + id + ")"); | msg += ("(id=" + id + ")"); | ||||
| @@ -502,7 +502,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| * Otherwise, we return "(nodename)". This is long-standing | * Otherwise, we return "(nodename)". This is long-standing | ||||
| * (and default) <xmlproperty> behavior. | * (and default) <xmlproperty> behavior. | ||||
| */ | */ | ||||
| private String getAttributeName (Node attributeNode) { | |||||
| private String getAttributeName(Node attributeNode) { | |||||
| String attributeName = attributeNode.getNodeName(); | String attributeName = attributeNode.getNodeName(); | ||||
| if (semanticAttributes) { | if (semanticAttributes) { | ||||
| @@ -523,7 +523,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| /** | /** | ||||
| * Return whether the provided attribute name is recognized or not. | * Return whether the provided attribute name is recognized or not. | ||||
| */ | */ | ||||
| private static boolean isSemanticAttribute (String attributeName) { | |||||
| private static boolean isSemanticAttribute(String attributeName) { | |||||
| for (int i = 0; i < ATTRIBUTES.length; i++) { | for (int i = 0; i < ATTRIBUTES.length; i++) { | ||||
| if (attributeName.equals(ATTRIBUTES[i])) { | if (attributeName.equals(ATTRIBUTES[i])) { | ||||
| return true; | return true; | ||||
| @@ -544,7 +544,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| * resolved to absolute file names. Also for refid values, look | * resolved to absolute file names. Also for refid values, look | ||||
| * up the referenced object from the project.</p> | * up the referenced object from the project.</p> | ||||
| */ | */ | ||||
| private String getAttributeValue (Node attributeNode) { | |||||
| private String getAttributeValue(Node attributeNode) { | |||||
| String nodeValue = attributeNode.getNodeValue().trim(); | String nodeValue = attributeNode.getNodeValue().trim(); | ||||
| if (semanticAttributes) { | if (semanticAttributes) { | ||||
| String attributeName = attributeNode.getNodeName(); | String attributeName = attributeNode.getNodeName(); | ||||
| @@ -673,7 +673,7 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| /** | /** | ||||
| * @return the file attribute. | * @return the file attribute. | ||||
| */ | */ | ||||
| protected File getFile () { | |||||
| protected File getFile() { | |||||
| FileProvider fp = src.as(FileProvider.class); | FileProvider fp = src.as(FileProvider.class); | ||||
| return fp != null ? fp.getFile() : null; | return fp != null ? fp.getFile() : null; | ||||
| } | } | ||||
| @@ -693,42 +693,42 @@ public class XmlProperty extends org.apache.tools.ant.Task { | |||||
| /** | /** | ||||
| * @return the prefix attribute. | * @return the prefix attribute. | ||||
| */ | */ | ||||
| protected String getPrefix () { | |||||
| protected String getPrefix() { | |||||
| return this.prefix; | return this.prefix; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the keeproot attribute. | * @return the keeproot attribute. | ||||
| */ | */ | ||||
| protected boolean getKeeproot () { | |||||
| protected boolean getKeeproot() { | |||||
| return this.keepRoot; | return this.keepRoot; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the validate attribute. | * @return the validate attribute. | ||||
| */ | */ | ||||
| protected boolean getValidate () { | |||||
| protected boolean getValidate() { | |||||
| return this.validate; | return this.validate; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the collapse attributes attribute. | * @return the collapse attributes attribute. | ||||
| */ | */ | ||||
| protected boolean getCollapseAttributes () { | |||||
| protected boolean getCollapseAttributes() { | |||||
| return this.collapseAttributes; | return this.collapseAttributes; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the semantic attributes attribute. | * @return the semantic attributes attribute. | ||||
| */ | */ | ||||
| protected boolean getSemanticAttributes () { | |||||
| protected boolean getSemanticAttributes() { | |||||
| return this.semanticAttributes; | return this.semanticAttributes; | ||||
| } | } | ||||
| /** | /** | ||||
| * @return the root directory attribute. | * @return the root directory attribute. | ||||
| */ | */ | ||||
| protected File getRootDirectory () { | |||||
| protected File getRootDirectory() { | |||||
| return this.rootDirectory; | return this.rootDirectory; | ||||
| } | } | ||||
| @@ -103,7 +103,7 @@ public class Zip extends MatchingTask { | |||||
| protected String archiveType = "zip"; | protected String archiveType = "zip"; | ||||
| // For directories: | // For directories: | ||||
| private static final long EMPTY_CRC = new CRC32 ().getValue (); | |||||
| private static final long EMPTY_CRC = new CRC32().getValue(); | |||||
| protected String emptyBehavior = "skip"; | protected String emptyBehavior = "skip"; | ||||
| private final Vector<ResourceCollection> resources = new Vector<ResourceCollection>(); | private final Vector<ResourceCollection> resources = new Vector<ResourceCollection>(); | ||||
| protected Hashtable<String, String> addedDirs = new Hashtable<String, String>(); | protected Hashtable<String, String> addedDirs = new Hashtable<String, String>(); | ||||
| @@ -783,7 +783,7 @@ public class Zip extends MatchingTask { | |||||
| // temporary file | // temporary file | ||||
| if (doUpdate) { | if (doUpdate) { | ||||
| if (!renamedFile.delete()) { | if (!renamedFile.delete()) { | ||||
| log ("Warning: unable to delete temporary file " | |||||
| log("Warning: unable to delete temporary file " | |||||
| + renamedFile.getName(), Project.MSG_WARN); | + renamedFile.getName(), Project.MSG_WARN); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1761,7 +1761,7 @@ public class Zip extends MatchingTask { | |||||
| addedDirs.put(vPath, vPath); | addedDirs.put(vPath, vPath); | ||||
| if (!skipWriting) { | if (!skipWriting) { | ||||
| final ZipEntry ze = new ZipEntry (vPath); | |||||
| final ZipEntry ze = new ZipEntry(vPath); | |||||
| // ZIPs store time with a granularity of 2 seconds, round up | // ZIPs store time with a granularity of 2 seconds, round up | ||||
| final int millisToAdd = roundUp ? ROUNDUP_MILLIS : 0; | final int millisToAdd = roundUp ? ROUNDUP_MILLIS : 0; | ||||
| @@ -1773,10 +1773,10 @@ public class Zip extends MatchingTask { | |||||
| } else { | } else { | ||||
| ze.setTime(System.currentTimeMillis() + millisToAdd); | ze.setTime(System.currentTimeMillis() + millisToAdd); | ||||
| } | } | ||||
| ze.setSize (0); | |||||
| ze.setMethod (ZipEntry.STORED); | |||||
| ze.setSize(0); | |||||
| ze.setMethod(ZipEntry.STORED); | |||||
| // This is faintly ridiculous: | // This is faintly ridiculous: | ||||
| ze.setCrc (EMPTY_CRC); | |||||
| ze.setCrc(EMPTY_CRC); | |||||
| ze.setUnixMode(mode); | ze.setUnixMode(mode); | ||||
| if (extra != null) { | if (extra != null) { | ||||
| @@ -433,8 +433,8 @@ public abstract class DefaultCompilerAdapter | |||||
| cmd.createArgument().setPath(ump); | cmd.createArgument().setPath(ump); | ||||
| } | } | ||||
| if (attributes.getNativeHeaderDir() != null) { | if (attributes.getNativeHeaderDir() != null) { | ||||
| if (assumeJava13() || assumeJava14() || assumeJava15() | |||||
| || assumeJava16() || assumeJava17()) { | |||||
| if (assumeJava13() || assumeJava14() || assumeJava15() || assumeJava16() | |||||
| || assumeJava17()) { | |||||
| attributes.log("Support for javac -h has been added in Java8," | attributes.log("Support for javac -h has been added in Java8," | ||||
| + " ignoring it"); | + " ignoring it"); | ||||
| } else { | } else { | ||||
| @@ -485,8 +485,7 @@ public abstract class DefaultCompilerAdapter | |||||
| * @param cmd the command line | * @param cmd the command line | ||||
| */ | */ | ||||
| protected void logAndAddFilesToCompile(final Commandline cmd) { | protected void logAndAddFilesToCompile(final Commandline cmd) { | ||||
| attributes.log("Compilation " + cmd.describeArguments(), | |||||
| Project.MSG_VERBOSE); | |||||
| attributes.log("Compilation " + cmd.describeArguments(), Project.MSG_VERBOSE); | |||||
| final StringBuffer niceSourceList = new StringBuffer("File"); | final StringBuffer niceSourceList = new StringBuffer("File"); | ||||
| if (compileList.length != 1) { | if (compileList.length != 1) { | ||||
| @@ -728,10 +727,10 @@ public abstract class DefaultCompilerAdapter | |||||
| return "javac1.9".equals(attributes.getCompilerVersion()) | return "javac1.9".equals(attributes.getCompilerVersion()) | ||||
| || "javac9".equals(attributes.getCompilerVersion()) | || "javac9".equals(attributes.getCompilerVersion()) | ||||
| || "javac10+".equals(attributes.getCompilerVersion()) | || "javac10+".equals(attributes.getCompilerVersion()) | ||||
| || (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9) && | |||||
| ("classic".equals(attributes.getCompilerVersion()) | |||||
| || "modern".equals(attributes.getCompilerVersion()) | |||||
| || "extJavac".equals(attributes.getCompilerVersion()))); | |||||
| || (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9) | |||||
| && ("classic".equals(attributes.getCompilerVersion()) | |||||
| || "modern".equals(attributes.getCompilerVersion()) | |||||
| || "extJavac".equals(attributes.getCompilerVersion()))); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -740,8 +739,8 @@ public abstract class DefaultCompilerAdapter | |||||
| */ | */ | ||||
| private boolean assumeJavaXY(final String javacXY, final String javaEnvVersionXY) { | private boolean assumeJavaXY(final String javacXY, final String javaEnvVersionXY) { | ||||
| return javacXY.equals(attributes.getCompilerVersion()) | return javacXY.equals(attributes.getCompilerVersion()) | ||||
| || (JavaEnvUtils.isJavaVersion(javaEnvVersionXY) && | |||||
| ("classic".equals(attributes.getCompilerVersion()) | |||||
| || (JavaEnvUtils.isJavaVersion(javaEnvVersionXY) | |||||
| && ("classic".equals(attributes.getCompilerVersion()) | |||||
| || "modern".equals(attributes.getCompilerVersion()) | || "modern".equals(attributes.getCompilerVersion()) | ||||
| || "extJavac".equals(attributes.getCompilerVersion()))); | || "extJavac".equals(attributes.getCompilerVersion()))); | ||||
| } | } | ||||
| @@ -830,8 +829,7 @@ public abstract class DefaultCompilerAdapter | |||||
| t = t.substring(2); | t = t.substring(2); | ||||
| } | } | ||||
| return t.equals("1") || t.equals("2") || t.equals("3") || t.equals("4") | return t.equals("1") || t.equals("2") || t.equals("3") || t.equals("4") | ||||
| || ((t.equals("5") || t.equals("6")) | |||||
| && !assumeJava15() && !assumeJava16()) | |||||
| || ((t.equals("5") || t.equals("6")) && !assumeJava15() && !assumeJava16()) | |||||
| || (t.equals("7") && !assumeJava17()) | || (t.equals("7") && !assumeJava17()) | ||||
| || (t.equals("8") && !assumeJava18()) | || (t.equals("8") && !assumeJava18()) | ||||
| || (t.equals("9") && !assumeJava9Plus()); | || (t.equals("9") && !assumeJava9Plus()); | ||||
| @@ -142,10 +142,9 @@ public class Gcj extends DefaultCompilerAdapter { | |||||
| int argsLength = 0; | int argsLength = 0; | ||||
| while (!nativeBuild && argsLength < additionalArguments.length) { | while (!nativeBuild && argsLength < additionalArguments.length) { | ||||
| int conflictLength = 0; | int conflictLength = 0; | ||||
| while (!nativeBuild | |||||
| && conflictLength < CONFLICT_WITH_DASH_C.length) { | |||||
| nativeBuild = (additionalArguments[argsLength].startsWith | |||||
| (CONFLICT_WITH_DASH_C[conflictLength])); | |||||
| while (!nativeBuild && conflictLength < CONFLICT_WITH_DASH_C.length) { | |||||
| nativeBuild = additionalArguments[argsLength] | |||||
| .startsWith(CONFLICT_WITH_DASH_C[conflictLength]); | |||||
| conflictLength++; | conflictLength++; | ||||
| } | } | ||||
| argsLength++; | argsLength++; | ||||
| @@ -153,8 +152,6 @@ public class Gcj extends DefaultCompilerAdapter { | |||||
| return nativeBuild; | return nativeBuild; | ||||
| } | } | ||||
| private static final String [] CONFLICT_WITH_DASH_C = { | |||||
| "-o" , "--main=", "-D", "-fjni", "-L" | |||||
| }; | |||||
| private static final String[] CONFLICT_WITH_DASH_C = {"-o", "--main=", "-D", "-fjni", "-L"}; | |||||
| } | } | ||||
| @@ -68,7 +68,7 @@ public class Javac12 extends DefaultCompilerAdapter { | |||||
| new Object[] {cmd.getArguments()}); | new Object[] {cmd.getArguments()}); | ||||
| return ok.booleanValue(); | return ok.booleanValue(); | ||||
| } catch (ClassNotFoundException ex) { | } catch (ClassNotFoundException ex) { | ||||
| throw new BuildException("Cannot use classic compiler , as it is " | |||||
| throw new BuildException("Cannot use classic compiler, as it is " | |||||
| + "not available. \n" | + "not available. \n" | ||||
| + " A common solution is " | + " A common solution is " | ||||
| + "to set the environment variable" | + "to set the environment variable" | ||||
| @@ -50,7 +50,7 @@ public class Javac13 extends DefaultCompilerAdapter { | |||||
| // Use reflection to be able to build on all JDKs >= 1.1: | // Use reflection to be able to build on all JDKs >= 1.1: | ||||
| try { | try { | ||||
| Class c = Class.forName ("com.sun.tools.javac.Main"); | |||||
| Class c = Class.forName("com.sun.tools.javac.Main"); | |||||
| Object compiler = c.newInstance (); | Object compiler = c.newInstance (); | ||||
| Method compile = c.getMethod ("compile", | Method compile = c.getMethod ("compile", | ||||
| new Class [] {(new String [] {}).getClass ()}); | new Class [] {(new String [] {}).getClass ()}); | ||||
| @@ -20,6 +20,7 @@ package org.apache.tools.ant.taskdefs.condition; | |||||
| import java.net.HttpURLConnection; | import java.net.HttpURLConnection; | ||||
| import java.net.MalformedURLException; | import java.net.MalformedURLException; | ||||
| import java.net.ProtocolException; | |||||
| import java.net.URL; | import java.net.URL; | ||||
| import java.net.URLConnection; | import java.net.URLConnection; | ||||
| import java.util.Locale; | import java.util.Locale; | ||||
| @@ -115,7 +116,7 @@ public class Http extends ProjectComponent implements Condition { | |||||
| } | } | ||||
| return false; | return false; | ||||
| } | } | ||||
| } catch (java.net.ProtocolException pe) { | |||||
| } catch (ProtocolException pe) { | |||||
| throw new BuildException("Invalid HTTP protocol: " | throw new BuildException("Invalid HTTP protocol: " | ||||
| + requestMethod, pe); | + requestMethod, pe); | ||||
| } catch (java.io.IOException e) { | } catch (java.io.IOException e) { | ||||
| @@ -161,7 +161,7 @@ public class IsLastModified extends ProjectComponent implements Condition { | |||||
| long expected = getMillis(); | long expected = getMillis(); | ||||
| long actual = resource.getLastModified(); | long actual = resource.getLastModified(); | ||||
| log("expected timestamp: " + expected + " (" + new Date(expected) + ")" | log("expected timestamp: " + expected + " (" + new Date(expected) + ")" | ||||
| + ", actual timestamp: " + actual + " (" + new Date(actual) + ")" , | |||||
| + ", actual timestamp: " + actual + " (" + new Date(actual) + ")", | |||||
| Project.MSG_VERBOSE); | Project.MSG_VERBOSE); | ||||
| if (CompareMode.EQUALS_TEXT.equals(mode.getValue())) { | if (CompareMode.EQUALS_TEXT.equals(mode.getValue())) { | ||||
| return expected == actual; | return expected == actual; | ||||
| @@ -165,7 +165,7 @@ public class Message extends ProjectComponent { | |||||
| * @since Ant 1.6 | * @since Ant 1.6 | ||||
| */ | */ | ||||
| public void setCharset(String charset) { | public void setCharset(String charset) { | ||||
| this.charset = charset; | |||||
| this.charset = charset; | |||||
| } | } | ||||
| /** | /** | ||||
| * Returns the charset of mail message. | * Returns the charset of mail message. | ||||
| @@ -174,7 +174,7 @@ public class Message extends ProjectComponent { | |||||
| * @since Ant 1.6 | * @since Ant 1.6 | ||||
| */ | */ | ||||
| public String getCharset() { | public String getCharset() { | ||||
| return charset; | |||||
| return charset; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -56,9 +56,9 @@ public class Java13CommandLauncher extends CommandLauncher { | |||||
| Project.MSG_DEBUG); | Project.MSG_DEBUG); | ||||
| } | } | ||||
| return Runtime.getRuntime().exec(cmd, env, workingDir); | return Runtime.getRuntime().exec(cmd, env, workingDir); | ||||
| } catch(IOException ioex) { | |||||
| } catch (IOException ioex) { | |||||
| throw ioex; | throw ioex; | ||||
| } catch(Exception exc) { | |||||
| } catch (Exception exc) { | |||||
| // IllegalAccess, IllegalArgument, ClassCast | // IllegalAccess, IllegalArgument, ClassCast | ||||
| throw new BuildException("Unable to execute command", exc); | throw new BuildException("Unable to execute command", exc); | ||||
| } | } | ||||
| @@ -80,9 +80,7 @@ public class VmsCommandLauncher extends Java13CommandLauncher { | |||||
| public Process exec(Project project, String[] cmd, String[] env, | public Process exec(Project project, String[] cmd, String[] env, | ||||
| File workingDir) throws IOException { | File workingDir) throws IOException { | ||||
| File cmdFile = createCommandFile(cmd, env); | File cmdFile = createCommandFile(cmd, env); | ||||
| Process p = super.exec(project, new String[] { | |||||
| cmdFile.getPath() | |||||
| }, env, workingDir); | |||||
| Process p = super.exec(project, new String[] {cmdFile.getPath()}, env, workingDir); | |||||
| deleteAfter(cmdFile, p); | deleteAfter(cmdFile, p); | ||||
| return p; | return p; | ||||
| } | } | ||||
| @@ -264,8 +264,7 @@ public class Cab extends MatchingTask { | |||||
| try { | try { | ||||
| Process p = Execute.launch(getProject(), | Process p = Execute.launch(getProject(), | ||||
| new String[] {"listcab"}, null, | new String[] {"listcab"}, null, | ||||
| baseDir != null ? baseDir | |||||
| : getProject().getBaseDir(), | |||||
| baseDir != null ? baseDir : getProject().getBaseDir(), | |||||
| true); | true); | ||||
| OutputStream out = p.getOutputStream(); | OutputStream out = p.getOutputStream(); | ||||
| @@ -243,7 +243,7 @@ public class EchoProperties extends Task { | |||||
| * The values are "xml" and "text". | * The values are "xml" and "text". | ||||
| */ | */ | ||||
| public static class FormatAttribute extends EnumeratedAttribute { | public static class FormatAttribute extends EnumeratedAttribute { | ||||
| private String [] formats = new String[]{"xml", "text"}; | |||||
| private String[] formats = new String[] {"xml", "text"}; | |||||
| /** | /** | ||||
| * @see EnumeratedAttribute#getValues() | * @see EnumeratedAttribute#getValues() | ||||
| @@ -467,11 +467,9 @@ public class Javah extends Task { | |||||
| classpath = classpath.concatSystemClasspath("ignore"); | classpath = classpath.concatSystemClasspath("ignore"); | ||||
| } | } | ||||
| JavahAdapter ad = | |||||
| nestedAdapter != null ? nestedAdapter : | |||||
| JavahAdapterFactory.getAdapter(facade.getImplementation(), | |||||
| this, | |||||
| createImplementationClasspath()); | |||||
| JavahAdapter ad = nestedAdapter != null ? nestedAdapter | |||||
| : JavahAdapterFactory.getAdapter(facade.getImplementation(), this, | |||||
| createImplementationClasspath()); | |||||
| if (!ad.compile(this)) { | if (!ad.compile(this)) { | ||||
| throw new BuildException("compilation failed"); | throw new BuildException("compilation failed"); | ||||
| } | } | ||||
| @@ -294,11 +294,9 @@ public class Native2Ascii extends MatchingTask { | |||||
| } | } | ||||
| log("converting " + srcName, Project.MSG_VERBOSE); | log("converting " + srcName, Project.MSG_VERBOSE); | ||||
| Native2AsciiAdapter ad = | |||||
| nestedAdapter != null ? nestedAdapter : | |||||
| Native2AsciiAdapterFactory.getAdapter(facade.getImplementation(), | |||||
| this, | |||||
| createImplementationClasspath()); | |||||
| Native2AsciiAdapter ad = nestedAdapter != null ? nestedAdapter | |||||
| : Native2AsciiAdapterFactory.getAdapter(facade.getImplementation(), this, | |||||
| createImplementationClasspath()); | |||||
| if (!ad.convert(this, srcFile, destFile)) { | if (!ad.convert(this, srcFile, destFile)) { | ||||
| throw new BuildException("conversion failed"); | throw new BuildException("conversion failed"); | ||||
| } | } | ||||
| @@ -324,8 +322,7 @@ public class Native2Ascii extends MatchingTask { | |||||
| public String[] mapFileName(String fileName) { | public String[] mapFileName(String fileName) { | ||||
| int lastDot = fileName.lastIndexOf('.'); | int lastDot = fileName.lastIndexOf('.'); | ||||
| if (lastDot >= 0) { | if (lastDot >= 0) { | ||||
| return new String[] {fileName.substring(0, lastDot) | |||||
| + extension}; | |||||
| return new String[] {fileName.substring(0, lastDot) + extension}; | |||||
| } else { | } else { | ||||
| return new String[] {fileName + extension}; | return new String[] {fileName + extension}; | ||||
| } | } | ||||
| @@ -1023,7 +1023,7 @@ public class NetRexxC extends MatchingTask { | |||||
| public static class TraceAttr extends EnumeratedAttribute { | public static class TraceAttr extends EnumeratedAttribute { | ||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[]{"trace", "trace1", "trace2", "notrace"}; | |||||
| return new String[] {"trace", "trace1", "trace2", "notrace"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -1033,9 +1033,8 @@ public class NetRexxC extends MatchingTask { | |||||
| public static class VerboseAttr extends EnumeratedAttribute { | public static class VerboseAttr extends EnumeratedAttribute { | ||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[]{"verbose", "verbose0", "verbose1", | |||||
| "verbose2", "verbose3", "verbose4", | |||||
| "verbose5", "noverbose"}; | |||||
| return new String[] {"verbose", "verbose0", "verbose1", "verbose2", | |||||
| "verbose3", "verbose4", "verbose5", "noverbose"}; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -298,14 +298,14 @@ public class PropertyFile extends Task { | |||||
| private static final String DEFAULT_DATE_VALUE = "now"; | private static final String DEFAULT_DATE_VALUE = "now"; | ||||
| private static final String DEFAULT_STRING_VALUE = ""; | private static final String DEFAULT_STRING_VALUE = ""; | ||||
| private String key = null; | |||||
| private int type = Type.STRING_TYPE; | |||||
| private int operation = Operation.EQUALS_OPER; | |||||
| private String value = null; | |||||
| private String defaultValue = null; | |||||
| private String newValue = null; | |||||
| private String pattern = null; | |||||
| private int field = Calendar.DATE; | |||||
| private String key = null; | |||||
| private int type = Type.STRING_TYPE; | |||||
| private int operation = Operation.EQUALS_OPER; | |||||
| private String value = null; | |||||
| private String defaultValue = null; | |||||
| private String newValue = null; | |||||
| private String pattern = null; | |||||
| private int field = Calendar.DATE; | |||||
| /** | /** | ||||
| * Name of the property name/value pair | * Name of the property name/value pair | ||||
| @@ -404,8 +404,7 @@ public class PropertyFile extends Task { | |||||
| } else if (type == Type.STRING_TYPE) { | } else if (type == Type.STRING_TYPE) { | ||||
| executeString(oldValue); | executeString(oldValue); | ||||
| } else { | } else { | ||||
| throw new BuildException("Unknown operation type: " | |||||
| + type); | |||||
| throw new BuildException("Unknown operation type: " + type); | |||||
| } | } | ||||
| } catch (NullPointerException npe) { | } catch (NullPointerException npe) { | ||||
| // Default to string type | // Default to string type | ||||
| @@ -615,13 +614,13 @@ public class PropertyFile extends Task { | |||||
| // Property type operations | // Property type operations | ||||
| /** + */ | /** + */ | ||||
| public static final int INCREMENT_OPER = 0; | |||||
| public static final int INCREMENT_OPER = 0; | |||||
| /** - */ | /** - */ | ||||
| public static final int DECREMENT_OPER = 1; | |||||
| public static final int DECREMENT_OPER = 1; | |||||
| /** = */ | /** = */ | ||||
| public static final int EQUALS_OPER = 2; | |||||
| public static final int EQUALS_OPER = 2; | |||||
| /** del */ | /** del */ | ||||
| public static final int DELETE_OPER = 3; | |||||
| public static final int DELETE_OPER = 3; | |||||
| /** {@inheritDoc}. */ | /** {@inheritDoc}. */ | ||||
| @Override | @Override | ||||
| @@ -653,11 +652,11 @@ public class PropertyFile extends Task { | |||||
| // Property types | // Property types | ||||
| /** int */ | /** int */ | ||||
| public static final int INTEGER_TYPE = 0; | |||||
| public static final int INTEGER_TYPE = 0; | |||||
| /** date */ | /** date */ | ||||
| public static final int DATE_TYPE = 1; | |||||
| public static final int DATE_TYPE = 1; | |||||
| /** string */ | /** string */ | ||||
| public static final int STRING_TYPE = 2; | |||||
| public static final int STRING_TYPE = 2; | |||||
| /** {@inheritDoc} */ | /** {@inheritDoc} */ | ||||
| @Override | @Override | ||||
| @@ -697,9 +696,8 @@ public class PropertyFile extends Task { | |||||
| private static final String MONTH = "month"; | private static final String MONTH = "month"; | ||||
| private static final String YEAR = "year"; | private static final String YEAR = "year"; | ||||
| private static final String[] UNITS | |||||
| = {MILLISECOND, SECOND, MINUTE, HOUR, | |||||
| DAY, WEEK, MONTH, YEAR }; | |||||
| private static final String[] UNITS = {MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, | |||||
| YEAR}; | |||||
| private Map calendarFields = new HashMap(); | private Map calendarFields = new HashMap(); | ||||
| @@ -114,9 +114,8 @@ public class Rpm extends Task { | |||||
| Commandline toExecute = new Commandline(); | Commandline toExecute = new Commandline(); | ||||
| toExecute.setExecutable(rpmBuildCommand == null | |||||
| ? guessRpmBuildCommand() | |||||
| : rpmBuildCommand); | |||||
| toExecute.setExecutable(rpmBuildCommand == null ? guessRpmBuildCommand() | |||||
| : rpmBuildCommand); | |||||
| if (topDir != null) { | if (topDir != null) { | ||||
| toExecute.createArgument().setValue("--define"); | toExecute.createArgument().setValue("--define"); | ||||
| toExecute.createArgument().setValue("_topdir " + topDir); | toExecute.createArgument().setValue("_topdir " + topDir); | ||||
| @@ -169,7 +168,7 @@ public class Rpm extends Task { | |||||
| fos = new FileOutputStream(error); | fos = new FileOutputStream(error); | ||||
| BufferedOutputStream bos = new BufferedOutputStream(fos); | BufferedOutputStream bos = new BufferedOutputStream(fos); | ||||
| errorstream = new PrintStream(bos); | errorstream = new PrintStream(bos); | ||||
| } catch (IOException e) { | |||||
| } catch (IOException e) { | |||||
| FileUtils.close(fos); | FileUtils.close(fos); | ||||
| throw new BuildException(e, getLocation()); | throw new BuildException(e, getLocation()); | ||||
| } | } | ||||
| @@ -253,12 +253,11 @@ public class BorlandDeploymentTool extends GenericDeploymentTool | |||||
| File borlandDD = new File(getConfig().descriptorDir, ddPrefix + dd); | File borlandDD = new File(getConfig().descriptorDir, ddPrefix + dd); | ||||
| if (borlandDD.exists()) { | if (borlandDD.exists()) { | ||||
| log("Borland specific file found " + borlandDD, Project.MSG_VERBOSE); | log("Borland specific file found " + borlandDD, Project.MSG_VERBOSE); | ||||
| ejbFiles.put(META_DIR + dd , borlandDD); | |||||
| ejbFiles.put(META_DIR + dd, borlandDD); | |||||
| } else { | } else { | ||||
| log("Unable to locate borland deployment descriptor. " | log("Unable to locate borland deployment descriptor. " | ||||
| + "It was expected to be in " | + "It was expected to be in " | ||||
| + borlandDD.getPath(), Project.MSG_WARN); | + borlandDD.getPath(), Project.MSG_WARN); | ||||
| return; | |||||
| } | } | ||||
| } | } | ||||
| @@ -29,6 +29,7 @@ import java.util.Hashtable; | |||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
| import org.xml.sax.AttributeList; | import org.xml.sax.AttributeList; | ||||
| import org.xml.sax.HandlerBase; | |||||
| import org.xml.sax.InputSource; | import org.xml.sax.InputSource; | ||||
| import org.xml.sax.SAXException; | import org.xml.sax.SAXException; | ||||
| @@ -40,7 +41,7 @@ import org.xml.sax.SAXException; | |||||
| * inserted into an EJB jar as to a File representing the file on disk. This | * inserted into an EJB jar as to a File representing the file on disk. This | ||||
| * list can then be accessed through the getFiles() method. | * list can then be accessed through the getFiles() method. | ||||
| */ | */ | ||||
| public class DescriptorHandler extends org.xml.sax.HandlerBase { | |||||
| public class DescriptorHandler extends HandlerBase { | |||||
| private static final int DEFAULT_HASH_TABLE_SIZE = 10; | private static final int DEFAULT_HASH_TABLE_SIZE = 10; | ||||
| private static final int STATE_LOOKING_EJBJAR = 1; | private static final int STATE_LOOKING_EJBJAR = 1; | ||||
| private static final int STATE_IN_EJBJAR = 2; | private static final int STATE_IN_EJBJAR = 2; | ||||
| @@ -220,7 +221,7 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase { | |||||
| } | } | ||||
| } | } | ||||
| owningTask.log("Could not resolve ( publicId: " + publicId | |||||
| owningTask.log("Could not resolve (publicId: " + publicId | |||||
| + ", systemId: " + systemId + ") to a local entity", Project.MSG_INFO); | + ", systemId: " + systemId + ") to a local entity", Project.MSG_INFO); | ||||
| return null; | return null; | ||||
| @@ -790,7 +790,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool { | |||||
| manifest = new Manifest(in); | manifest = new Manifest(in); | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| throw new BuildException ("Unable to read manifest", e, getLocation()); | |||||
| throw new BuildException("Unable to read manifest", e, getLocation()); | |||||
| } finally { | } finally { | ||||
| if (in != null) { | if (in != null) { | ||||
| in.close(); | in.close(); | ||||
| @@ -114,7 +114,7 @@ public class IPlanetEjbcTask extends Task { | |||||
| * @param iasdescriptor The name and location of the iAS-specific EJB | * @param iasdescriptor The name and location of the iAS-specific EJB | ||||
| * descriptor. | * descriptor. | ||||
| */ | */ | ||||
| public void setIasdescriptor (File iasdescriptor) { | |||||
| public void setIasdescriptor(File iasdescriptor) { | |||||
| this.iasdescriptor = iasdescriptor; | this.iasdescriptor = iasdescriptor; | ||||
| } | } | ||||
| @@ -587,7 +587,7 @@ public class JonasDeploymentTool extends GenericDeploymentTool { | |||||
| log("Cannot find GenIC class in classpath.", Project.MSG_ERR); | log("Cannot find GenIC class in classpath.", Project.MSG_ERR); | ||||
| throw new BuildException("GenIC class not found, please check the classpath."); | throw new BuildException("GenIC class not found, please check the classpath."); | ||||
| } else { | } else { | ||||
| log("Using '" + genicClass + "' GenIC class." , Project.MSG_VERBOSE); | |||||
| log("Using '" + genicClass + "' GenIC class.", Project.MSG_VERBOSE); | |||||
| genicTask.setClassname(genicClass); | genicTask.setClassname(genicClass); | ||||
| } | } | ||||
| @@ -46,7 +46,7 @@ public class OrionDeploymentTool extends GenericDeploymentTool { | |||||
| * @param baseName String | * @param baseName String | ||||
| */ | */ | ||||
| protected void addVendorFiles(Hashtable ejbFiles, String baseName) { | protected void addVendorFiles(Hashtable ejbFiles, String baseName) { | ||||
| String ddPrefix = (usingBaseJarName() ? "" : baseName ); | |||||
| String ddPrefix = usingBaseJarName() ? "" : baseName; | |||||
| File orionDD = new File(getConfig().descriptorDir, ddPrefix + ORION_DD); | File orionDD = new File(getConfig().descriptorDir, ddPrefix + ORION_DD); | ||||
| if (orionDD.exists()) { | if (orionDD.exists()) { | ||||
| @@ -172,7 +172,7 @@ public class ExtensionAdapter extends DataType { | |||||
| } | } | ||||
| /** | /** | ||||
| * Convert this adpater object into an extension object. | |||||
| * Convert this adapter object into an extension object. | |||||
| * | * | ||||
| * @return the extension object | * @return the extension object | ||||
| */ | */ | ||||
| @@ -239,7 +239,7 @@ public class Image extends MatchingTask { | |||||
| final String dstName = dstNames[j]; | final String dstName = dstNames[j]; | ||||
| final File dstFile = new File(dstDir, dstName).getAbsoluteFile(); | final File dstFile = new File(dstDir, dstName).getAbsoluteFile(); | ||||
| if (dstFile.exists()){ | |||||
| if (dstFile.exists()) { | |||||
| // avoid overwriting unless necessary | // avoid overwriting unless necessary | ||||
| if(!overwrite | if(!overwrite | ||||
| && srcFile.lastModified() <= dstFile.lastModified()) { | && srcFile.lastModified() <= dstFile.lastModified()) { | ||||
| @@ -252,7 +252,7 @@ public class Image extends MatchingTask { | |||||
| } | } | ||||
| // avoid extra work while overwriting | // avoid extra work while overwriting | ||||
| if (!srcFile.equals(dstFile)){ | |||||
| if (!srcFile.equals(dstFile)) { | |||||
| dstFile.delete(); | dstFile.delete(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -317,7 +317,7 @@ public class Image extends MatchingTask { | |||||
| + dstParent); | + dstParent); | ||||
| } | } | ||||
| if ((overwrite && newFile.exists()) && (!newFile.equals(file))) { | |||||
| if (overwrite && newFile.exists() && !newFile.equals(file)) { | |||||
| newFile.delete(); | newFile.delete(); | ||||
| } | } | ||||
| @@ -333,7 +333,7 @@ public class Image extends MatchingTask { | |||||
| FileUtils.close(stream); | FileUtils.close(stream); | ||||
| } | } | ||||
| } catch (IOException err) { | } catch (IOException err) { | ||||
| if (!file.equals(newFile)){ | |||||
| if (!file.equals(newFile)) { | |||||
| newFile.delete(); | newFile.delete(); | ||||
| } | } | ||||
| if (!failonerror) { | if (!failonerror) { | ||||
| @@ -362,7 +362,7 @@ public class Image extends MatchingTask { | |||||
| validateAttributes(); | validateAttributes(); | ||||
| try { | try { | ||||
| File dest = destDir != null ? destDir : srcDir; | |||||
| File dest = (destDir != null) ? destDir : srcDir; | |||||
| int writeCount = 0; | int writeCount = 0; | ||||
| @@ -392,9 +392,8 @@ public class Image extends MatchingTask { | |||||
| writeCount += processDir(fromDir, files, dest, mapper); | writeCount += processDir(fromDir, files, dest, mapper); | ||||
| } | } | ||||
| if (writeCount>0){ | |||||
| log("Processed " + writeCount + | |||||
| (writeCount == 1 ? " image." : " images.")); | |||||
| if (writeCount > 0) { | |||||
| log("Processed " + writeCount + (writeCount == 1 ? " image." : " images.")); | |||||
| } | } | ||||
| } catch (Exception err) { | } catch (Exception err) { | ||||
| @@ -53,8 +53,8 @@ public class JonasHotDeploymentTool extends GenericHotDeploymentTool implements | |||||
| /** | /** | ||||
| * All the valid actions that weblogic.deploy permits * | * All the valid actions that weblogic.deploy permits * | ||||
| */ | */ | ||||
| private static final String[] VALID_ACTIONS | |||||
| = {ACTION_DELETE, ACTION_DEPLOY, ACTION_LIST, ACTION_UNDEPLOY, ACTION_UPDATE}; | |||||
| private static final String[] VALID_ACTIONS = {ACTION_DELETE, ACTION_DEPLOY, ACTION_LIST, | |||||
| ACTION_UNDEPLOY, ACTION_UPDATE}; | |||||
| /** | /** | ||||
| * Description of the Field | * Description of the Field | ||||
| @@ -320,7 +320,7 @@ public class JDependTask extends Task { | |||||
| * @see EnumeratedAttribute | * @see EnumeratedAttribute | ||||
| */ | */ | ||||
| public static class FormatAttribute extends EnumeratedAttribute { | public static class FormatAttribute extends EnumeratedAttribute { | ||||
| private String [] formats = new String[]{"xml", "text"}; | |||||
| private String[] formats = new String[] {"xml", "text"}; | |||||
| /** | /** | ||||
| * @return the enumerated values | * @return the enumerated values | ||||
| @@ -459,7 +459,7 @@ public class JspC extends MatchingTask { | |||||
| throw new BuildException("srcdir attribute must be set!", | throw new BuildException("srcdir attribute must be set!", | ||||
| getLocation()); | getLocation()); | ||||
| } | } | ||||
| String [] list = src.list(); | |||||
| String[] list = src.list(); | |||||
| if (list.length == 0) { | if (list.length == 0) { | ||||
| throw new BuildException("srcdir attribute must be set!", | throw new BuildException("srcdir attribute must be set!", | ||||
| getLocation()); | getLocation()); | ||||
| @@ -67,7 +67,7 @@ public class JspNameMangler implements JspMangler { | |||||
| * map from a jsp file to a base name; does not deal with extensions | * map from a jsp file to a base name; does not deal with extensions | ||||
| * | * | ||||
| * @param jspFile jspFile file | * @param jspFile jspFile file | ||||
| * @return exensionless potentially remapped name | |||||
| * @return extensionless potentially remapped name | |||||
| */ | */ | ||||
| private String mapJspToBaseName(File jspFile) { | private String mapJspToBaseName(File jspFile) { | ||||
| String className; | String className; | ||||
| @@ -231,7 +231,7 @@ public class WLJspc extends MatchingTask { | |||||
| * Set the directory containing the source jsp's | * Set the directory containing the source jsp's | ||||
| * | * | ||||
| * | * | ||||
| * @param dirName the directory containg the source jsp's | |||||
| * @param dirName the directory containing the source jsp's | |||||
| */ | */ | ||||
| public void setSrc(File dirName) { | public void setSrc(File dirName) { | ||||
| @@ -242,7 +242,7 @@ public class WLJspc extends MatchingTask { | |||||
| * Set the directory containing the source jsp's | * Set the directory containing the source jsp's | ||||
| * | * | ||||
| * | * | ||||
| * @param dirName the directory containg the source jsp's | |||||
| * @param dirName the directory containing the source jsp's | |||||
| */ | */ | ||||
| public void setDest(File dirName) { | public void setDest(File dirName) { | ||||
| @@ -115,7 +115,7 @@ public class AggregateTransformer { | |||||
| /** | /** | ||||
| * Used to ensure the uniqueness of a property | * Used to ensure the uniqueness of a property | ||||
| */ | */ | ||||
| private volatile static int counter = 0; | |||||
| private static volatile int counter = 0; | |||||
| /** the format to use for the report. Must be <tt>FRAMES</tt> or <tt>NOFRAMES</tt> */ | /** the format to use for the report. Must be <tt>FRAMES</tt> or <tt>NOFRAMES</tt> */ | ||||
| protected String format = FRAMES; | protected String format = FRAMES; | ||||
| @@ -41,7 +41,8 @@ public abstract class BaseTest { | |||||
| protected String errorProperty; | protected String errorProperty; | ||||
| // CheckStyle:VisibilityModifier ON | // CheckStyle:VisibilityModifier ON | ||||
| private Object ifCond, unlessCond; | |||||
| private Object ifCond; | |||||
| private Object unlessCond; | |||||
| private boolean skipNonTests; | private boolean skipNonTests; | ||||
| /** | /** | ||||
| @@ -39,8 +39,8 @@ public class Constants { | |||||
| static final String LOGTESTLISTENEREVENTS = "logtestlistenerevents="; | static final String LOGTESTLISTENEREVENTS = "logtestlistenerevents="; | ||||
| static final String TESTSFILE = "testsfile="; | static final String TESTSFILE = "testsfile="; | ||||
| static final String TERMINATED_SUCCESSFULLY = "terminated successfully"; | static final String TERMINATED_SUCCESSFULLY = "terminated successfully"; | ||||
| static final String LOG_FAILED_TESTS="logfailedtests="; | |||||
| static final String LOG_FAILED_TESTS = "logfailedtests="; | |||||
| static final String SKIP_NON_TESTS = "skipNonTests="; | static final String SKIP_NON_TESTS = "skipNonTests="; | ||||
| /** @since Ant 1.9.4 */ | /** @since Ant 1.9.4 */ | ||||
| static final String THREADID="threadid="; | |||||
| static final String THREADID = "threadid="; | |||||
| } | } | ||||
| @@ -135,7 +135,7 @@ public final class DOMUtil { | |||||
| * the parent is <tt>null</tt> or if a child does not match the | * the parent is <tt>null</tt> or if a child does not match the | ||||
| * given name. | * given name. | ||||
| */ | */ | ||||
| public static Element getChildByTagName (Node parent, String tagname) { | |||||
| public static Element getChildByTagName(Node parent, String tagname) { | |||||
| if (parent == null) { | if (parent == null) { | ||||
| return null; | return null; | ||||
| } | } | ||||
| @@ -54,8 +54,8 @@ import org.apache.tools.ant.util.StringUtils; | |||||
| * } | * } | ||||
| * public static Test suite() { | * public static Test suite() { | ||||
| * TestSuite suite = new TestSuite(); | * TestSuite suite = new TestSuite(); | ||||
| * suite.addTest( new B("test04") ); | |||||
| * suite.addTest( new org.D("test10") ); | |||||
| * suite.addTest(new B("test04")); | |||||
| * suite.addTest(new org.D("test10")); | |||||
| * return suite; | * return suite; | ||||
| * } | * } | ||||
| * } | * } | ||||
| @@ -44,7 +44,7 @@ public class IgnoredTestResult extends TestResult { | |||||
| public synchronized void addListener(TestListener listener) { | public synchronized void addListener(TestListener listener) { | ||||
| if (listener instanceof IgnoredTestListener) { | if (listener instanceof IgnoredTestListener) { | ||||
| listeners.add((IgnoredTestListener)listener); | |||||
| listeners.add((IgnoredTestListener) listener); | |||||
| } | } | ||||
| super.addListener(listener); | super.addListener(listener); | ||||
| } | } | ||||
| @@ -370,8 +370,7 @@ public class JUnitTask extends Task { | |||||
| */ | */ | ||||
| @Override | @Override | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {"true", "yes", "false", "no", | |||||
| "on", "off", "withOutAndErr"}; | |||||
| return new String[] {"true", "yes", "false", "no", "on", "off", "withOutAndErr"}; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -821,23 +820,13 @@ public class JUnitTask extends Task { | |||||
| mirrorLoader = (ClassLoader) AccessController.doPrivileged(new PrivilegedAction() { | mirrorLoader = (ClassLoader) AccessController.doPrivileged(new PrivilegedAction() { | ||||
| public Object run() { | public Object run() { | ||||
| return new SplitClassLoader(myLoader, path, getProject(), | return new SplitClassLoader(myLoader, path, getProject(), | ||||
| new String[] { | |||||
| "BriefJUnitResultFormatter", | |||||
| "JUnit4TestMethodAdapter", | |||||
| "JUnitResultFormatter", | |||||
| "JUnitTaskMirrorImpl", | |||||
| "JUnitTestRunner", | |||||
| "JUnitVersionHelper", | |||||
| "OutErrSummaryJUnitResultFormatter", | |||||
| "PlainJUnitResultFormatter", | |||||
| "SummaryJUnitResultFormatter", | |||||
| "TearDownOnVmCrash", | |||||
| "XMLJUnitResultFormatter", | |||||
| "IgnoredTestListener", | |||||
| "IgnoredTestResult", | |||||
| "CustomJUnit4TestAdapterCache", | |||||
| "TestListenerWrapper" | |||||
| }); | |||||
| new String[] {"BriefJUnitResultFormatter", "JUnit4TestMethodAdapter", | |||||
| "JUnitResultFormatter", "JUnitTaskMirrorImpl", "JUnitTestRunner", | |||||
| "JUnitVersionHelper", "OutErrSummaryJUnitResultFormatter", | |||||
| "PlainJUnitResultFormatter", "SummaryJUnitResultFormatter", | |||||
| "TearDownOnVmCrash", "XMLJUnitResultFormatter", "IgnoredTestListener", | |||||
| "IgnoredTestResult", "CustomJUnit4TestAdapterCache", | |||||
| "TestListenerWrapper"}); | |||||
| } | } | ||||
| }); | }); | ||||
| } else { | } else { | ||||
| @@ -860,9 +849,7 @@ public class JUnitTask extends Task { | |||||
| final List<List> testLists = new ArrayList<List>(); | final List<List> testLists = new ArrayList<List>(); | ||||
| /* parallel test execution is only supported for multi-process execution */ | /* parallel test execution is only supported for multi-process execution */ | ||||
| final int threads = ((!fork) || (forkMode.getValue().equals(ForkMode.ONCE)) | |||||
| ? 1 | |||||
| : this.threads); | |||||
| final int threads = !fork || forkMode.getValue().equals(ForkMode.ONCE) ? 1 : this.threads; | |||||
| final boolean forkPerTest = forkMode.getValue().equals(ForkMode.PER_TEST); | final boolean forkPerTest = forkMode.getValue().equals(ForkMode.PER_TEST); | ||||
| if (forkPerTest || forkMode.getValue().equals(ForkMode.ONCE)) { | if (forkPerTest || forkMode.getValue().equals(ForkMode.ONCE)) { | ||||
| @@ -1002,7 +989,7 @@ public class JUnitTask extends Task { | |||||
| /* create 1 thread using the passthrough class, and let each thread start */ | /* create 1 thread using the passthrough class, and let each thread start */ | ||||
| for (i = 0; i < numThreads; i++) { | for (i = 0; i < numThreads; i++) { | ||||
| threads[i] = new Thread(new JunitTestThread(this, iter, i+1)); | |||||
| threads[i] = new Thread(new JunitTestThread(this, iter, i + 1)); | |||||
| threads[i].start(); | threads[i].start(); | ||||
| } | } | ||||
| @@ -77,7 +77,7 @@ public interface JUnitTaskMirror { | |||||
| /** The interface that JUnitResultFormatter extends. */ | /** The interface that JUnitResultFormatter extends. */ | ||||
| public interface JUnitResultFormatterMirror { | |||||
| interface JUnitResultFormatterMirror { | |||||
| /** | /** | ||||
| * Set the output stream. | * Set the output stream. | ||||
| * @param outputStream the stream to use. | * @param outputStream the stream to use. | ||||
| @@ -86,7 +86,7 @@ public interface JUnitTaskMirror { | |||||
| } | } | ||||
| /** The interface that SummaryJUnitResultFormatter extends. */ | /** The interface that SummaryJUnitResultFormatter extends. */ | ||||
| public interface SummaryJUnitResultFormatterMirror | |||||
| interface SummaryJUnitResultFormatterMirror | |||||
| extends JUnitResultFormatterMirror { | extends JUnitResultFormatterMirror { | ||||
| /** | /** | ||||
| @@ -97,7 +97,7 @@ public interface JUnitTaskMirror { | |||||
| } | } | ||||
| /** Interface that test runners implement. */ | /** Interface that test runners implement. */ | ||||
| public interface JUnitTestRunnerMirror { | |||||
| interface JUnitTestRunnerMirror { | |||||
| /** | /** | ||||
| * Used in formatter arguments as a placeholder for the basename | * Used in formatter arguments as a placeholder for the basename | ||||
| @@ -23,6 +23,7 @@ import java.io.BufferedWriter; | |||||
| import java.io.ByteArrayOutputStream; | import java.io.ByteArrayOutputStream; | ||||
| import java.io.File; | import java.io.File; | ||||
| import java.io.FileInputStream; | import java.io.FileInputStream; | ||||
| import java.io.FileReader; | |||||
| import java.io.FileWriter; | import java.io.FileWriter; | ||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.io.OutputStream; | import java.io.OutputStream; | ||||
| @@ -99,25 +100,22 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| */ | */ | ||||
| private Permissions perm = null; | private Permissions perm = null; | ||||
| private static final String JUNIT_4_TEST_ADAPTER | |||||
| = "junit.framework.JUnit4TestAdapter"; | |||||
| private static final String[] DEFAULT_TRACE_FILTERS = new String[] { | |||||
| "junit.framework.TestCase", | |||||
| "junit.framework.TestResult", | |||||
| "junit.framework.TestSuite", | |||||
| "junit.framework.Assert.", // don't filter AssertionFailure | |||||
| "junit.swingui.TestRunner", | |||||
| "junit.awtui.TestRunner", | |||||
| "junit.textui.TestRunner", | |||||
| "java.lang.reflect.Method.invoke(", | |||||
| "sun.reflect.", | |||||
| "org.apache.tools.ant.", | |||||
| // JUnit 4 support: | |||||
| "org.junit.", | |||||
| "junit.framework.JUnit4TestAdapter", | |||||
| " more", | |||||
| }; | |||||
| private static final String JUNIT_4_TEST_ADAPTER = "junit.framework.JUnit4TestAdapter"; | |||||
| private static final String[] DEFAULT_TRACE_FILTERS = new String[] {"junit.framework.TestCase", | |||||
| "junit.framework.TestResult", | |||||
| "junit.framework.TestSuite", | |||||
| "junit.framework.Assert.", // don't filter AssertionFailure | |||||
| "junit.swingui.TestRunner", | |||||
| "junit.awtui.TestRunner", | |||||
| "junit.textui.TestRunner", | |||||
| "java.lang.reflect.Method.invoke(", | |||||
| "sun.reflect.", | |||||
| "org.apache.tools.ant.", | |||||
| // JUnit 4 support: | |||||
| "org.junit.", | |||||
| "junit.framework.JUnit4TestAdapter", | |||||
| " more"}; | |||||
| /** | /** | ||||
| @@ -459,12 +457,10 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| useSingleMethodAdapter = true; | useSingleMethodAdapter = true; | ||||
| } | } | ||||
| } else { | } else { | ||||
| junit4TestAdapterClass = | |||||
| Class.forName(JUNIT_4_TEST_ADAPTER, | |||||
| junit4TestAdapterClass = Class.forName(JUNIT_4_TEST_ADAPTER, | |||||
| true, loader); | true, loader); | ||||
| if (testMethodsSpecified) { | if (testMethodsSpecified) { | ||||
| junit4TestAdapterClass = | |||||
| Class.forName( | |||||
| junit4TestAdapterClass = Class.forName( | |||||
| "org.apache.tools.ant.taskdefs.optional.junit.JUnit4TestMethodAdapter", | "org.apache.tools.ant.taskdefs.optional.junit.JUnit4TestMethodAdapter", | ||||
| true, loader); | true, loader); | ||||
| useSingleMethodAdapter = true; | useSingleMethodAdapter = true; | ||||
| @@ -491,13 +487,13 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| formalParams = new Class[] {Class.class, String[].class}; | formalParams = new Class[] {Class.class, String[].class}; | ||||
| actualParams = new Object[] {testClass, methods}; | actualParams = new Object[] {testClass, methods}; | ||||
| } else { | } else { | ||||
| formalParams = new Class[] {Class.class, Class.forName("junit.framework.JUnit4TestAdapterCache")}; | |||||
| actualParams = new Object[] {testClass, junit4TestAdapterCacheClass.getMethod("getInstance").invoke(null)}; | |||||
| formalParams = new Class[] {Class.class, Class.forName( | |||||
| "junit.framework.JUnit4TestAdapterCache")}; | |||||
| actualParams = new Object[] {testClass, junit4TestAdapterCacheClass | |||||
| .getMethod("getInstance").invoke(null)}; | |||||
| } | } | ||||
| suite = | |||||
| (Test) junit4TestAdapterClass | |||||
| .getConstructor(formalParams). | |||||
| newInstance(actualParams); | |||||
| suite = (Test) junit4TestAdapterClass.getConstructor(formalParams) | |||||
| .newInstance(actualParams); | |||||
| } else { | } else { | ||||
| // Use JUnit 3. | // Use JUnit 3. | ||||
| @@ -532,8 +528,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| if (exception != null) { // had an exception constructing suite | if (exception != null) { // had an exception constructing suite | ||||
| final int formatterSize = formatters.size(); | final int formatterSize = formatters.size(); | ||||
| for (int i = 0; i < formatterSize; i++) { | for (int i = 0; i < formatterSize; i++) { | ||||
| ((TestListener) formatters.elementAt(i)) | |||||
| .addError(null, exception); | |||||
| ((TestListener) formatters.elementAt(i)).addError(null, exception); | |||||
| } | } | ||||
| junitTest.setCounts(1, 0, 1, 0); | junitTest.setCounts(1, 0, 1, 0); | ||||
| junitTest.setRunTime(0); | junitTest.setRunTime(0); | ||||
| @@ -542,10 +537,10 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| logTestListenerEvent("tests to run: " + suite.countTestCases()); | logTestListenerEvent("tests to run: " + suite.countTestCases()); | ||||
| suite.run(res); | suite.run(res); | ||||
| } finally { | } finally { | ||||
| if (junit4 || | |||||
| suite.getClass().getName().equals(JUNIT_4_TEST_ADAPTER)) { | |||||
| if (junit4 || suite.getClass().getName().equals(JUNIT_4_TEST_ADAPTER)) { | |||||
| final int[] cnts = findJUnit4FailureErrorCount(res); | final int[] cnts = findJUnit4FailureErrorCount(res); | ||||
| junitTest.setCounts(res.runCount() + res.ignoredCount(), cnts[0], cnts[1], res.ignoredCount() + res.skippedCount()); | |||||
| junitTest.setCounts(res.runCount() + res.ignoredCount(), cnts[0], cnts[1], | |||||
| res.ignoredCount() + res.skippedCount()); | |||||
| } else { | } else { | ||||
| junitTest.setCounts(res.runCount() + res.ignoredCount(), res.failureCount(), | junitTest.setCounts(res.runCount() + res.ignoredCount(), res.failureCount(), | ||||
| res.errorCount(), res.ignoredCount() + res.skippedCount()); | res.errorCount(), res.ignoredCount() + res.skippedCount()); | ||||
| @@ -610,12 +605,12 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| try { | try { | ||||
| suiteAnnotation = Class.forName("org.junit.Suite.SuiteClasses"); | suiteAnnotation = Class.forName("org.junit.Suite.SuiteClasses"); | ||||
| } catch(final ClassNotFoundException ex) { | |||||
| } catch (final ClassNotFoundException ex) { | |||||
| // ignore - we don't have this annotation so make sure we don't check for it | // ignore - we don't have this annotation so make sure we don't check for it | ||||
| } | } | ||||
| try { | try { | ||||
| runWithAnnotation = Class.forName("org.junit.runner.RunWith"); | runWithAnnotation = Class.forName("org.junit.runner.RunWith"); | ||||
| } catch(final ClassNotFoundException ex) { | |||||
| } catch (final ClassNotFoundException ex) { | |||||
| // also ignore as this annotation doesn't exist so tests can't use it | // also ignore as this annotation doesn't exist so tests can't use it | ||||
| } | } | ||||
| @@ -643,12 +638,13 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| return true; | return true; | ||||
| } | } | ||||
| if (runWithAnnotation != null && testClass.getAnnotation(runWithAnnotation) != null) { | if (runWithAnnotation != null && testClass.getAnnotation(runWithAnnotation) != null) { | ||||
| /* Class is marked with @RunWith. If this class is badly written (no test methods, multiple | |||||
| * constructors, private constructor etc) then the class is automatically run and fails in the | |||||
| * IDEs I've tried... so I'm happy handing the class to JUnit to try and run, and let JUnit | |||||
| * report a failure if a bad test case is provided. Trying to do anything else is likely to | |||||
| * result in us filtering out cases that could be valid for future versions of JUnit so would | |||||
| * just increase future maintenance work. | |||||
| /* Class is marked with @RunWith. If this class is badly written (no test methods, | |||||
| * multiple constructors, private constructor etc) then the class is automatically | |||||
| * run and fails in the IDEs I've tried... so I'm happy handing the class to JUnit | |||||
| * to try and run, and let JUnit report a failure if a bad test case is provided. | |||||
| * Trying to do anything else is likely to result in us filtering out cases that | |||||
| * could be valid for future versions of JUnit so would just increase future | |||||
| * maintenance work. | |||||
| */ | */ | ||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -661,7 +657,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| return true; | return true; | ||||
| } | } | ||||
| } else { | } else { | ||||
| // check if JUnit3 class have public or protected no-args methods starting with names starting with test | |||||
| // check if JUnit3 class have public or protected no-args methods starting with | |||||
| // names starting with test | |||||
| if (m.getName().startsWith("test") && m.getParameterTypes().length == 0 | if (m.getName().startsWith("test") && m.getParameterTypes().length == 0 | ||||
| && (Modifier.isProtected(m.getModifiers()) || Modifier.isPublic(m.getModifiers()))) { | && (Modifier.isProtected(m.getModifiers()) || Modifier.isPublic(m.getModifiers()))) { | ||||
| return true; | return true; | ||||
| @@ -713,6 +710,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| private void logTestListenerEvent(String msg) { | private void logTestListenerEvent(String msg) { | ||||
| if (logTestListenerEvents) { | if (logTestListenerEvents) { | ||||
| @SuppressWarnings("resource") | |||||
| final PrintStream out = savedOut != null ? savedOut : System.out; | final PrintStream out = savedOut != null ? savedOut : System.out; | ||||
| out.flush(); | out.flush(); | ||||
| if (msg == null) { | if (msg == null) { | ||||
| @@ -720,8 +718,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| } | } | ||||
| final StringTokenizer msgLines = new StringTokenizer(msg, "\r\n", false); | final StringTokenizer msgLines = new StringTokenizer(msg, "\r\n", false); | ||||
| while (msgLines.hasMoreTokens()) { | while (msgLines.hasMoreTokens()) { | ||||
| out.println(JUnitTask.TESTLISTENER_PREFIX | |||||
| + msgLines.nextToken()); | |||||
| out.println(JUnitTask.TESTLISTENER_PREFIX + msgLines.nextToken()); | |||||
| } | } | ||||
| out.flush(); | out.flush(); | ||||
| } | } | ||||
| @@ -840,16 +837,14 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| private void fireStartTestSuite() { | private void fireStartTestSuite() { | ||||
| final int size = formatters.size(); | final int size = formatters.size(); | ||||
| for (int i = 0; i < size; i++) { | for (int i = 0; i < size; i++) { | ||||
| ((JUnitResultFormatter) formatters.elementAt(i)) | |||||
| .startTestSuite(junitTest); | |||||
| ((JUnitResultFormatter) formatters.elementAt(i)).startTestSuite(junitTest); | |||||
| } | } | ||||
| } | } | ||||
| private void fireEndTestSuite() { | private void fireEndTestSuite() { | ||||
| final int size = formatters.size(); | final int size = formatters.size(); | ||||
| for (int i = 0; i < size; i++) { | for (int i = 0; i < size; i++) { | ||||
| ((JUnitResultFormatter) formatters.elementAt(i)) | |||||
| .endTestSuite(junitTest); | |||||
| ((JUnitResultFormatter) formatters.elementAt(i)).endTestSuite(junitTest); | |||||
| } | } | ||||
| } | } | ||||
| @@ -915,7 +910,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| boolean logFailedTests = true; | boolean logFailedTests = true; | ||||
| boolean logTestListenerEvents = false; | boolean logTestListenerEvents = false; | ||||
| boolean skipNonTests = false; | boolean skipNonTests = false; | ||||
| int antThreadID = 0; /* Ant id of thread running this unit test, 0 in single-threaded mode */ | |||||
| /* Ant id of thread running this unit test, 0 in single-threaded mode */ | |||||
| int antThreadID = 0; | |||||
| if (args.length == 0) { | if (args.length == 0) { | ||||
| System.err.println("required argument TestClassName missing"); | System.err.println("required argument TestClassName missing"); | ||||
| @@ -954,7 +950,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| } | } | ||||
| } else if (args[i].startsWith(Constants.PROPSFILE)) { | } else if (args[i].startsWith(Constants.PROPSFILE)) { | ||||
| final FileInputStream in = new FileInputStream(args[i] | final FileInputStream in = new FileInputStream(args[i] | ||||
| .substring(Constants.PROPSFILE.length())); | |||||
| .substring(Constants.PROPSFILE.length())); | |||||
| props.load(in); | props.load(in); | ||||
| in.close(); | in.close(); | ||||
| } else if (args[i].startsWith(Constants.SHOWOUTPUT)) { | } else if (args[i].startsWith(Constants.SHOWOUTPUT)) { | ||||
| @@ -986,8 +982,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| int returnCode = SUCCESS; | int returnCode = SUCCESS; | ||||
| if (multipleTests) { | if (multipleTests) { | ||||
| try { | try { | ||||
| final java.io.BufferedReader reader = | |||||
| new java.io.BufferedReader(new java.io.FileReader(args[0])); | |||||
| final BufferedReader reader = new BufferedReader(new FileReader(args[0])); | |||||
| String testCaseName; | String testCaseName; | ||||
| String[] testMethodNames; | String[] testMethodNames; | ||||
| int code = 0; | int code = 0; | ||||
| @@ -1020,8 +1015,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| errorOccurred = (code == ERRORS); | errorOccurred = (code == ERRORS); | ||||
| failureOccurred = (code != SUCCESS); | failureOccurred = (code != SUCCESS); | ||||
| if (errorOccurred || failureOccurred) { | if (errorOccurred || failureOccurred) { | ||||
| if ((errorOccurred && haltError) | |||||
| || (failureOccurred && haltFail)) { | |||||
| if ((errorOccurred && haltError) || (failureOccurred && haltFail)) { | |||||
| registerNonCrash(); | registerNonCrash(); | ||||
| System.exit(code); | System.exit(code); | ||||
| } else { | } else { | ||||
| @@ -1029,8 +1023,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| returnCode = code; | returnCode = code; | ||||
| } | } | ||||
| if (logFailedTests) { | if (logFailedTests) { | ||||
| System.out.println("TEST " + t.getName() | |||||
| + " FAILED"); | |||||
| System.out.println("TEST " + t.getName() + " FAILED"); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1043,9 +1036,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| t.setThread(antThreadID); | t.setThread(antThreadID); | ||||
| t.setProperties(props); | t.setProperties(props); | ||||
| t.setSkipNonTests(skipNonTests); | t.setSkipNonTests(skipNonTests); | ||||
| returnCode = launch( | |||||
| t, methods, haltError, stackfilter, haltFail, | |||||
| showOut, outputToFormat, logTestListenerEvents); | |||||
| returnCode = launch(t, methods, haltError, stackfilter, haltFail, showOut, | |||||
| outputToFormat, logTestListenerEvents); | |||||
| } | } | ||||
| registerNonCrash(); | registerNonCrash(); | ||||
| @@ -1090,9 +1082,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| for (int i = 0; i < size; i++) { | for (int i = 0; i < size; i++) { | ||||
| final FormatterElement fe = (FormatterElement) fromCmdLine.elementAt(i); | final FormatterElement fe = (FormatterElement) fromCmdLine.elementAt(i); | ||||
| if (multipleTests && fe.getUseFile()) { | if (multipleTests && fe.getUseFile()) { | ||||
| final File destFile = | |||||
| new File(test.getTodir(), | |||||
| test.getOutfile() + fe.getExtension()); | |||||
| final File destFile = new File(test.getTodir(), | |||||
| test.getOutfile() + fe.getExtension()); | |||||
| fe.setOutfile(destFile); | fe.setOutfile(destFile); | ||||
| } | } | ||||
| runner.addFormatter((JUnitResultFormatter) fe.createFormatter()); | runner.addFormatter((JUnitResultFormatter) fe.createFormatter()); | ||||
| @@ -1119,9 +1110,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR | |||||
| } else { | } else { | ||||
| final int fName = line.indexOf(IGNORED_FILE_NAME); | final int fName = line.indexOf(IGNORED_FILE_NAME); | ||||
| if (fName > -1) { | if (fName > -1) { | ||||
| fe.setExtension(line | |||||
| .substring(fName | |||||
| + IGNORED_FILE_NAME.length())); | |||||
| fe.setExtension(line.substring(fName | |||||
| + IGNORED_FILE_NAME.length())); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -45,8 +45,7 @@ public class TearDownOnVmCrash implements JUnitResultFormatter { | |||||
| */ | */ | ||||
| public void startTestSuite(final JUnitTest suite) { | public void startTestSuite(final JUnitTest suite) { | ||||
| suiteName = suite.getName(); | suiteName = suite.getName(); | ||||
| if (suiteName != null && | |||||
| suiteName.endsWith(JUnitTask.NAME_OF_DUMMY_TEST)) { | |||||
| if (suiteName != null && suiteName.endsWith(JUnitTask.NAME_OF_DUMMY_TEST)) { | |||||
| // no way to know which class caused the timeout | // no way to know which class caused the timeout | ||||
| suiteName = null; | suiteName = null; | ||||
| } | } | ||||
| @@ -58,28 +57,35 @@ public class TearDownOnVmCrash implements JUnitResultFormatter { | |||||
| * error generated by Ant. | * error generated by Ant. | ||||
| */ | */ | ||||
| public void addError(final Test fakeTest, final Throwable t) { | public void addError(final Test fakeTest, final Throwable t) { | ||||
| if (suiteName != null | |||||
| && fakeTest instanceof JUnitTaskMirrorImpl.VmExitErrorTest) { | |||||
| if (suiteName != null && fakeTest instanceof JUnitTaskMirrorImpl.VmExitErrorTest) { | |||||
| tearDown(); | tearDown(); | ||||
| } | } | ||||
| } | } | ||||
| // no need to implement the rest | // no need to implement the rest | ||||
| public void addFailure(Test test, Throwable t) {} | |||||
| public void addFailure(Test test, Throwable t) { | |||||
| } | |||||
| public void addFailure(Test test, AssertionFailedError t) {} | |||||
| public void addFailure(Test test, AssertionFailedError t) { | |||||
| } | |||||
| public void startTest(Test test) {} | |||||
| public void startTest(Test test) { | |||||
| } | |||||
| public void endTest(Test test) {} | |||||
| public void endTest(Test test) { | |||||
| } | |||||
| public void endTestSuite(JUnitTest suite) {} | |||||
| public void endTestSuite(JUnitTest suite) { | |||||
| } | |||||
| public void setOutput(OutputStream out) {} | |||||
| public void setOutput(OutputStream out) { | |||||
| } | |||||
| public void setSystemOutput(String out) {} | |||||
| public void setSystemOutput(String out) { | |||||
| } | |||||
| public void setSystemError(String err) {} | |||||
| public void setSystemError(String err) { | |||||
| } | |||||
| private void tearDown() { | private void tearDown() { | ||||
| try { | try { | ||||
| @@ -96,8 +102,7 @@ public class TearDownOnVmCrash implements JUnitResultFormatter { | |||||
| } | } | ||||
| if (testClass == null && getClass().getClassLoader() != null) { | if (testClass == null && getClass().getClassLoader() != null) { | ||||
| try { | try { | ||||
| testClass = | |||||
| getClass().getClassLoader().loadClass(suiteName); | |||||
| testClass = getClass().getClassLoader().loadClass(suiteName); | |||||
| } catch (ClassNotFoundException cnfe) { | } catch (ClassNotFoundException cnfe) { | ||||
| // ignore | // ignore | ||||
| } | } | ||||
| @@ -447,33 +447,27 @@ public class FTP extends Task implements FTPTaskConfig { | |||||
| } | } | ||||
| if (isOK) { | if (isOK) { | ||||
| currentelement = path.replace(remoteFileSep.charAt(0), File.separatorChar); | currentelement = path.replace(remoteFileSep.charAt(0), File.separatorChar); | ||||
| if (!isFollowSymlinks() | |||||
| && traversesSymlinks) { | |||||
| if (!isFollowSymlinks() && traversesSymlinks) { | |||||
| continue; | continue; | ||||
| } | } | ||||
| if (myfile.isDirectory()) { | if (myfile.isDirectory()) { | ||||
| if (isIncluded(currentelement) | |||||
| && currentelement.length() > 0) { | |||||
| if (isIncluded(currentelement) && currentelement.length() > 0) { | |||||
| accountForIncludedDir(currentelement, myfile, true); | accountForIncludedDir(currentelement, myfile, true); | ||||
| } else { | } else { | ||||
| if (currentelement.length() > 0) { | if (currentelement.length() > 0) { | ||||
| if (currentelement.charAt(currentelement | |||||
| .length() - 1) | |||||
| if (currentelement.charAt(currentelement.length() - 1) | |||||
| != File.separatorChar) { | != File.separatorChar) { | ||||
| currentelement = | |||||
| currentelement + File.separatorChar; | |||||
| currentelement = currentelement + File.separatorChar; | |||||
| } | } | ||||
| } | } | ||||
| scandir(myfile.getAbsolutePath(), currentelement, true); | scandir(myfile.getAbsolutePath(), currentelement, true); | ||||
| } | } | ||||
| } else { | } else { | ||||
| if (isCaseSensitive | |||||
| && originalpattern.equals(currentelement)) { | |||||
| if (isCaseSensitive && originalpattern.equals(currentelement)) { | |||||
| accountForIncludedFile(currentelement); | accountForIncludedFile(currentelement); | ||||
| } else if (!isCaseSensitive | } else if (!isCaseSensitive | ||||
| && originalpattern | |||||
| .equalsIgnoreCase(currentelement)) { | |||||
| && originalpattern.equalsIgnoreCase(currentelement)) { | |||||
| accountForIncludedFile(currentelement); | accountForIncludedFile(currentelement); | ||||
| } | } | ||||
| } | } | ||||
| @@ -337,7 +337,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| try { | try { | ||||
| path = myfile.getRelativePath(); | path = myfile.getRelativePath(); | ||||
| traversesSymlinks = myfile.isTraverseSymlinks(); | traversesSymlinks = myfile.isTraverseSymlinks(); | ||||
| } catch (IOException be) { | |||||
| } catch (IOException be) { | |||||
| throw new BuildException(be, task.getLocation()); | throw new BuildException(be, task.getLocation()); | ||||
| } catch (BuildException be) { | } catch (BuildException be) { | ||||
| isOK = false; | isOK = false; | ||||
| @@ -1177,8 +1177,8 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| for (int i = 0; i < dsfiles.length; i++) { | for (int i = 0; i < dsfiles.length; i++) { | ||||
| final String dsfile = dsfiles[i]; | final String dsfile = dsfiles[i]; | ||||
| executeRetryable(h, new Retryable() { | executeRetryable(h, new Retryable() { | ||||
| public void execute() throws IOException { | |||||
| switch (task.getAction()) { | |||||
| public void execute() throws IOException { | |||||
| switch (task.getAction()) { | |||||
| case FTPTask.SEND_FILES: | case FTPTask.SEND_FILES: | ||||
| sendFile(ftp, fdir, dsfile); | sendFile(ftp, fdir, dsfile); | ||||
| break; | break; | ||||
| @@ -1199,9 +1199,9 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| default: | default: | ||||
| throw new BuildException("unknown ftp action " | throw new BuildException("unknown ftp action " | ||||
| + task.getAction()); | + task.getAction()); | ||||
| } | |||||
| } | } | ||||
| }, dsfile); | |||||
| } | |||||
| }, dsfile); | |||||
| } | } | ||||
| } | } | ||||
| } finally { | } finally { | ||||
| @@ -1443,20 +1443,20 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| + task.getGranularityMillis(); | + task.getGranularityMillis(); | ||||
| StringBuffer msg; | StringBuffer msg; | ||||
| synchronized(TIMESTAMP_LOGGING_SDF) { | |||||
| synchronized (TIMESTAMP_LOGGING_SDF) { | |||||
| msg = new StringBuffer(" [") | msg = new StringBuffer(" [") | ||||
| .append(TIMESTAMP_LOGGING_SDF.format(new Date(localTimestamp))) | .append(TIMESTAMP_LOGGING_SDF.format(new Date(localTimestamp))) | ||||
| .append("] local"); | .append("] local"); | ||||
| } | } | ||||
| task.log(msg.toString(), Project.MSG_VERBOSE); | task.log(msg.toString(), Project.MSG_VERBOSE); | ||||
| synchronized(TIMESTAMP_LOGGING_SDF) { | |||||
| synchronized (TIMESTAMP_LOGGING_SDF) { | |||||
| msg = new StringBuffer(" [") | msg = new StringBuffer(" [") | ||||
| .append(TIMESTAMP_LOGGING_SDF.format(new Date(adjustedRemoteTimestamp))) | .append(TIMESTAMP_LOGGING_SDF.format(new Date(adjustedRemoteTimestamp))) | ||||
| .append("] remote"); | .append("] remote"); | ||||
| } | } | ||||
| if (remoteTimestamp != adjustedRemoteTimestamp) { | if (remoteTimestamp != adjustedRemoteTimestamp) { | ||||
| synchronized(TIMESTAMP_LOGGING_SDF) { | |||||
| synchronized (TIMESTAMP_LOGGING_SDF) { | |||||
| msg.append(" - (raw: ") | msg.append(" - (raw: ") | ||||
| .append(TIMESTAMP_LOGGING_SDF.format(new Date(remoteTimestamp))) | .append(TIMESTAMP_LOGGING_SDF.format(new Date(remoteTimestamp))) | ||||
| .append(")"); | .append(")"); | ||||
| @@ -1936,4 +1936,3 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -202,10 +202,8 @@ public class Pvcs extends org.apache.tools.ant.Task { | |||||
| tmp2 = new File("pvcs_ant_" + rand.nextLong() + ".log"); | tmp2 = new File("pvcs_ant_" + rand.nextLong() + ".log"); | ||||
| log(commandLine.describeCommand(), Project.MSG_VERBOSE); | log(commandLine.describeCommand(), Project.MSG_VERBOSE); | ||||
| try { | try { | ||||
| result = runCmd(commandLine, | |||||
| new PumpStreamHandler(fos, | |||||
| new LogOutputStream(this, | |||||
| Project.MSG_WARN))); | |||||
| result = runCmd(commandLine, new PumpStreamHandler(fos, | |||||
| new LogOutputStream(this, Project.MSG_WARN))); | |||||
| } finally { | } finally { | ||||
| FileUtils.close(fos); | FileUtils.close(fos); | ||||
| } | } | ||||
| @@ -250,8 +248,7 @@ public class Pvcs extends org.apache.tools.ant.Task { | |||||
| commandLine.createArgument().setValue("-v" + getLabel()); | commandLine.createArgument().setValue("-v" + getLabel()); | ||||
| } else { | } else { | ||||
| if (getRevision() != null) { | if (getRevision() != null) { | ||||
| commandLine.createArgument().setValue("-r" | |||||
| + getRevision()); | |||||
| commandLine.createArgument().setValue("-r" + getRevision()); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -304,10 +301,10 @@ public class Pvcs extends org.apache.tools.ant.Task { | |||||
| String line = in.readLine(); | String line = in.readLine(); | ||||
| while (line != null) { | while (line != null) { | ||||
| log("Considering \"" + line + "\"", Project.MSG_VERBOSE); | log("Considering \"" + line + "\"", Project.MSG_VERBOSE); | ||||
| if (line.startsWith("\"\\") // Checking for "\ | |||||
| || line.startsWith("\"/") // or "/ | |||||
| // or "X:\... | |||||
| || (line.length() > POS_3 && line.startsWith("\"") | |||||
| if (line.startsWith("\"\\") // Checking for "\ | |||||
| || line.startsWith("\"/") // or "/ | |||||
| // or "X:\... | |||||
| || (line.length() > POS_3 && line.startsWith("\"") | |||||
| && Character.isLetter(line.charAt(POS_1)) | && Character.isLetter(line.charAt(POS_1)) | ||||
| && String.valueOf(line.charAt(POS_2)).equals(":") | && String.valueOf(line.charAt(POS_2)).equals(":") | ||||
| && String.valueOf(line.charAt(POS_3)).equals("\\"))) { | && String.valueOf(line.charAt(POS_3)).equals("\\"))) { | ||||
| @@ -48,7 +48,7 @@ public class Directory { | |||||
| * @param directory a directory | * @param directory a directory | ||||
| * @param parent a parent Directory | * @param parent a parent Directory | ||||
| */ | */ | ||||
| public Directory(File directory , Directory parent) { | |||||
| public Directory(File directory, Directory parent) { | |||||
| this.parent = parent; | this.parent = parent; | ||||
| this.childDirectories = new LinkedHashSet(); | this.childDirectories = new LinkedHashSet(); | ||||
| this.files = new ArrayList(); | this.files = new ArrayList(); | ||||
| @@ -428,8 +428,7 @@ public class Scp extends SSHBase { | |||||
| // password. (so if the path contains an @ and a : it will not work) | // password. (so if the path contains an @ and a : it will not work) | ||||
| int indexOfCurrentAt = indexOfAt; | int indexOfCurrentAt = indexOfAt; | ||||
| final int indexOfLastColon = uri.lastIndexOf(':'); | final int indexOfLastColon = uri.lastIndexOf(':'); | ||||
| while (indexOfCurrentAt > -1 && indexOfCurrentAt < indexOfLastColon) | |||||
| { | |||||
| while (indexOfCurrentAt > -1 && indexOfCurrentAt < indexOfLastColon) { | |||||
| indexOfAt = indexOfCurrentAt; | indexOfAt = indexOfCurrentAt; | ||||
| indexOfCurrentAt = uri.indexOf('@', indexOfCurrentAt + 1); | indexOfCurrentAt = uri.indexOf('@', indexOfCurrentAt + 1); | ||||
| } | } | ||||
| @@ -42,7 +42,7 @@ public class ScpFromMessage extends AbstractSshMessage { | |||||
| private static final int HUNDRED_KILOBYTES = 102400; | private static final int HUNDRED_KILOBYTES = 102400; | ||||
| private static final byte LINE_FEED = 0x0a; | private static final byte LINE_FEED = 0x0a; | ||||
| private static final int BUFFER_SIZE = 100*1024; | |||||
| private static final int BUFFER_SIZE = 100 * 1024; | |||||
| private String remoteFile; | private String remoteFile; | ||||
| private File localFile; | private File localFile; | ||||
| @@ -36,7 +36,7 @@ import com.jcraft.jsch.Session; | |||||
| public class ScpToMessage extends AbstractSshMessage { | public class ScpToMessage extends AbstractSshMessage { | ||||
| private static final int HUNDRED_KILOBYTES = 102400; | private static final int HUNDRED_KILOBYTES = 102400; | ||||
| private static final int BUFFER_SIZE = 100*1024; | |||||
| private static final int BUFFER_SIZE = 100 * 1024; | |||||
| private static final int DEFAULT_DIR_MODE = 0755; | private static final int DEFAULT_DIR_MODE = 0755; | ||||
| private static final int DEFAULT_FILE_MODE = 0644; | private static final int DEFAULT_FILE_MODE = 0644; | ||||
| @@ -76,7 +76,7 @@ public class MSVSSCREATE extends MSVSS { | |||||
| * | * | ||||
| * @param quiet The boolean value for quiet. | * @param quiet The boolean value for quiet. | ||||
| */ | */ | ||||
| public final void setQuiet (boolean quiet) { | |||||
| public final void setQuiet(boolean quiet) { | |||||
| super.setInternalQuiet(quiet); | super.setInternalQuiet(quiet); | ||||
| } | } | ||||
| @@ -93,7 +93,7 @@ public class MSVSSGET extends MSVSS { | |||||
| * | * | ||||
| * @param quiet The boolean value for quiet. | * @param quiet The boolean value for quiet. | ||||
| */ | */ | ||||
| public final void setQuiet (boolean quiet) { | |||||
| public final void setQuiet(boolean quiet) { | |||||
| super.setInternalQuiet(quiet); | super.setInternalQuiet(quiet); | ||||
| } | } | ||||
| @@ -176,8 +176,8 @@ public class Attrib extends ExecuteOn { | |||||
| * @return true if the os is valid. | * @return true if the os is valid. | ||||
| */ | */ | ||||
| protected boolean isValidOs() { | protected boolean isValidOs() { | ||||
| return getOs() == null && getOsFamily() == null ? | |||||
| Os.isFamily(Os.FAMILY_WINDOWS) : super.isValidOs(); | |||||
| return getOs() == null && getOsFamily() == null | |||||
| ? Os.isFamily(Os.FAMILY_WINDOWS) : super.isValidOs(); | |||||
| } | } | ||||
| private static String getSignString(boolean attr) { | private static String getSignString(boolean attr) { | ||||
| @@ -45,8 +45,7 @@ public class XNewRmic extends ForkingSunRmic { | |||||
| String[] options = new String[] { | String[] options = new String[] { | ||||
| "-Xnew" | "-Xnew" | ||||
| }; | }; | ||||
| Commandline commandline = super.setupRmicCommand(options); | |||||
| return commandline; | |||||
| return super.setupRmicCommand(options); | |||||
| } | } | ||||
| } | } | ||||
| @@ -188,7 +188,7 @@ public class Commandline implements Cloneable { | |||||
| */ | */ | ||||
| public String[] getParts() { | public String[] getParts() { | ||||
| if (parts == null || parts.length == 0 | if (parts == null || parts.length == 0 | ||||
| || (prefix.length() == 0 && suffix.length() == 0)) { | |||||
| || (prefix.length() == 0 && suffix.length() == 0)) { | |||||
| return parts; | return parts; | ||||
| } | } | ||||
| String[] fullParts = new String[parts.length]; | String[] fullParts = new String[parts.length]; | ||||
| @@ -385,15 +385,12 @@ public class CommandlineJava implements Cloneable { | |||||
| javaCommand.setExecutable(module, false); | javaCommand.setExecutable(module, false); | ||||
| break; | break; | ||||
| case CLASS: | case CLASS: | ||||
| javaCommand.setExecutable(createModuleClassPair( | |||||
| module, | |||||
| javaCommand.setExecutable(createModuleClassPair(module, | |||||
| javaCommand.getExecutable()), false); | javaCommand.getExecutable()), false); | ||||
| break; | break; | ||||
| case MODULE: | case MODULE: | ||||
| javaCommand.setExecutable(createModuleClassPair( | |||||
| module, | |||||
| parseClassFromModuleClassPair(javaCommand.getExecutable())), | |||||
| false); | |||||
| javaCommand.setExecutable(createModuleClassPair(module, | |||||
| parseClassFromModuleClassPair(javaCommand.getExecutable())), false); | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| @@ -500,8 +497,7 @@ public class CommandlineJava implements Cloneable { | |||||
| if (isCloneVm()) { | if (isCloneVm()) { | ||||
| SysProperties clonedSysProperties = new SysProperties(); | SysProperties clonedSysProperties = new SysProperties(); | ||||
| PropertySet ps = new PropertySet(); | PropertySet ps = new PropertySet(); | ||||
| PropertySet.BuiltinPropertySetName sys = | |||||
| new PropertySet.BuiltinPropertySetName(); | |||||
| PropertySet.BuiltinPropertySetName sys = new PropertySet.BuiltinPropertySetName(); | |||||
| sys.setValue("system"); | sys.setValue("system"); | ||||
| ps.appendBuiltin(sys); | ps.appendBuiltin(sys); | ||||
| clonedSysProperties.addSyspropertyset(ps); | clonedSysProperties.addSyspropertyset(ps); | ||||
| @@ -515,20 +511,17 @@ public class CommandlineJava implements Cloneable { | |||||
| //main classpath | //main classpath | ||||
| if (haveClasspath()) { | if (haveClasspath()) { | ||||
| listIterator.add("-classpath"); | listIterator.add("-classpath"); | ||||
| listIterator.add( | |||||
| classpath.concatSystemClasspath("ignore").toString()); | |||||
| listIterator.add(classpath.concatSystemClasspath("ignore").toString()); | |||||
| } | } | ||||
| //module path | //module path | ||||
| if (haveModulepath()) { | if (haveModulepath()) { | ||||
| listIterator.add("--module-path"); | listIterator.add("--module-path"); | ||||
| listIterator.add( | |||||
| modulepath.concatSystemClasspath("ignore").toString()); | |||||
| listIterator.add(modulepath.concatSystemClasspath("ignore").toString()); | |||||
| } | } | ||||
| //upgrade module path | //upgrade module path | ||||
| if (haveUpgrademodulepath()) { | if (haveUpgrademodulepath()) { | ||||
| listIterator.add("--upgrade-module-path"); | listIterator.add("--upgrade-module-path"); | ||||
| listIterator.add( | |||||
| upgrademodulepath.concatSystemClasspath("ignore").toString()); | |||||
| listIterator.add(upgrademodulepath.concatSystemClasspath("ignore").toString()); | |||||
| } | } | ||||
| //now any assertions are added | //now any assertions are added | ||||
| if (getAssertions() != null) { | if (getAssertions() != null) { | ||||
| @@ -762,10 +755,8 @@ public class CommandlineJava implements Cloneable { | |||||
| * @since Ant 1.6 | * @since Ant 1.6 | ||||
| */ | */ | ||||
| public boolean haveClasspath() { | public boolean haveClasspath() { | ||||
| Path fullClasspath = classpath != null | |||||
| ? classpath.concatSystemClasspath("ignore") : null; | |||||
| return fullClasspath != null | |||||
| && fullClasspath.toString().trim().length() > 0; | |||||
| Path fullClasspath = classpath != null ? classpath.concatSystemClasspath("ignore") : null; | |||||
| return fullClasspath != null && fullClasspath.toString().trim().length() > 0; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -789,7 +780,7 @@ public class CommandlineJava implements Cloneable { | |||||
| */ | */ | ||||
| public boolean haveModulepath() { | public boolean haveModulepath() { | ||||
| Path fullClasspath = modulepath != null | Path fullClasspath = modulepath != null | ||||
| ? modulepath.concatSystemClasspath("ignore") : null; | |||||
| ? modulepath.concatSystemClasspath("ignore") : null; | |||||
| return fullClasspath != null | return fullClasspath != null | ||||
| && fullClasspath.toString().trim().length() > 0; | && fullClasspath.toString().trim().length() > 0; | ||||
| } | } | ||||
| @@ -802,8 +793,7 @@ public class CommandlineJava implements Cloneable { | |||||
| public boolean haveUpgrademodulepath() { | public boolean haveUpgrademodulepath() { | ||||
| Path fullClasspath = upgrademodulepath != null | Path fullClasspath = upgrademodulepath != null | ||||
| ? upgrademodulepath.concatSystemClasspath("ignore") : null; | ? upgrademodulepath.concatSystemClasspath("ignore") : null; | ||||
| return fullClasspath != null | |||||
| && fullClasspath.toString().trim().length() > 0; | |||||
| return fullClasspath != null && fullClasspath.toString().trim().length() > 0; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -816,8 +806,7 @@ public class CommandlineJava implements Cloneable { | |||||
| private Path calculateBootclasspath(boolean log) { | private Path calculateBootclasspath(boolean log) { | ||||
| if (vmVersion.startsWith("1.1")) { | if (vmVersion.startsWith("1.1")) { | ||||
| if (bootclasspath != null && log) { | if (bootclasspath != null && log) { | ||||
| bootclasspath.log("Ignoring bootclasspath as " | |||||
| + "the target VM doesn't support it."); | |||||
| bootclasspath.log("Ignoring bootclasspath as the target VM doesn't support it."); | |||||
| } | } | ||||
| } else { | } else { | ||||
| Path b = bootclasspath; | Path b = bootclasspath; | ||||
| @@ -839,8 +828,7 @@ public class CommandlineJava implements Cloneable { | |||||
| * @since 1.7 | * @since 1.7 | ||||
| */ | */ | ||||
| private boolean isCloneVm() { | private boolean isCloneVm() { | ||||
| return cloneVm | |||||
| || "true".equals(System.getProperty("ant.build.clonevm")); | |||||
| return cloneVm || "true".equals(System.getProperty("ant.build.clonevm")); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -851,9 +839,7 @@ public class CommandlineJava implements Cloneable { | |||||
| * @since 1.9.7 | * @since 1.9.7 | ||||
| */ | */ | ||||
| private static String createModuleClassPair(final String module, final String classname) { | private static String createModuleClassPair(final String module, final String classname) { | ||||
| return classname == null ? | |||||
| module : | |||||
| String.format("%s/%s", module, classname); //NOI18N | |||||
| return classname == null ? module : String.format("%s/%s", module, classname); //NOI18N | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -881,9 +867,7 @@ public class CommandlineJava implements Cloneable { | |||||
| return null; | return null; | ||||
| } | } | ||||
| final String[] moduleAndClass = moduleClassPair.split("/"); //NOI18N | final String[] moduleAndClass = moduleClassPair.split("/"); //NOI18N | ||||
| return moduleAndClass.length == 2 ? | |||||
| moduleAndClass[1] : | |||||
| null; | |||||
| return moduleAndClass.length == 2 ? moduleAndClass[1] : null; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -363,7 +363,7 @@ public abstract class DataType extends ProjectComponent implements Cloneable { | |||||
| } | } | ||||
| private String displayName(Class<?> clazz) { | private String displayName(Class<?> clazz) { | ||||
| return clazz.getName() + " (loaded via " + clazz.getClassLoader() +")"; | |||||
| return clazz.getName() + " (loaded via " + clazz.getClassLoader() + ")"; | |||||
| } | } | ||||
| } | } | ||||
| @@ -47,7 +47,6 @@ import org.xml.sax.SAXException; | |||||
| import org.xml.sax.XMLReader; | import org.xml.sax.XMLReader; | ||||
| /** | /** | ||||
| * <p>This data type provides a catalog of resource locations (such as | * <p>This data type provides a catalog of resource locations (such as | ||||
| * DTDs and XML entities), based on the <a | * DTDs and XML entities), based on the <a | ||||
| @@ -17,7 +17,6 @@ | |||||
| */ | */ | ||||
| package org.apache.tools.ant.types.optional.image; | package org.apache.tools.ant.types.optional.image; | ||||
| import java.awt.Color; | |||||
| import java.awt.Font; | import java.awt.Font; | ||||
| import java.awt.FontMetrics; | import java.awt.FontMetrics; | ||||
| import java.awt.Graphics2D; | import java.awt.Graphics2D; | ||||
| @@ -95,7 +94,6 @@ public class Text extends ImageOperation implements DrawOperation { | |||||
| public PlanarImage executeDrawOperation() { | public PlanarImage executeDrawOperation() { | ||||
| log("\tCreating Text \"" + strText + "\""); | log("\tCreating Text \"" + strText + "\""); | ||||
| Color couloir = ColorMapper.getColorByName(color); | |||||
| int width = 1; | int width = 1; | ||||
| int height = 1; | int height = 1; | ||||
| @@ -120,7 +118,7 @@ public class Text extends ImageOperation implements DrawOperation { | |||||
| RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); | RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); | ||||
| graphics.setFont(f); | graphics.setFont(f); | ||||
| graphics.setColor(couloir); | |||||
| graphics.setColor(ColorMapper.getColorByName(color)); | |||||
| graphics.drawString(strText, 0, height - fmetrics.getMaxDescent()); | graphics.drawString(strText, 0, height - fmetrics.getMaxDescent()); | ||||
| PlanarImage image = PlanarImage.wrapRenderedImage(bi); | PlanarImage image = PlanarImage.wrapRenderedImage(bi); | ||||
| return image; | return image; | ||||
| @@ -187,7 +187,7 @@ public class MultiRootFileSet extends AbstractFileSet | |||||
| /** | /** | ||||
| * What to return from the set: files, directories or both. | * What to return from the set: files, directories or both. | ||||
| */ | */ | ||||
| public static enum SetType { | |||||
| public enum SetType { | |||||
| file, dir, both | file, dir, both | ||||
| } | } | ||||
| @@ -905,7 +905,7 @@ public class ModifiedSelector extends BaseExtendSelector | |||||
| * @see EnumeratedAttribute#getValues() | * @see EnumeratedAttribute#getValues() | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {"propertyfile" }; | |||||
| return new String[] {"propertyfile"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -935,7 +935,7 @@ public class ModifiedSelector extends BaseExtendSelector | |||||
| * @see EnumeratedAttribute#getValues() | * @see EnumeratedAttribute#getValues() | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {"hashvalue", "digest", "checksum" }; | |||||
| return new String[] {"hashvalue", "digest", "checksum"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -965,7 +965,7 @@ public class ModifiedSelector extends BaseExtendSelector | |||||
| * @see EnumeratedAttribute#getValues() | * @see EnumeratedAttribute#getValues() | ||||
| */ | */ | ||||
| public String[] getValues() { | public String[] getValues() { | ||||
| return new String[] {"equal", "rule" }; | |||||
| return new String[] {"equal", "rule"}; | |||||
| } | } | ||||
| } | } | ||||
| @@ -518,7 +518,8 @@ public class DOMElementWriter { | |||||
| */ | */ | ||||
| public void encodedata(final Writer out, final String value) throws IOException { | public void encodedata(final Writer out, final String value) throws IOException { | ||||
| final int len = value.length(); | final int len = value.length(); | ||||
| int prevEnd = 0, cdataEndPos = value.indexOf("]]>"); | |||||
| int prevEnd = 0; | |||||
| int cdataEndPos = value.indexOf("]]>"); | |||||
| while (prevEnd < len) { | while (prevEnd < len) { | ||||
| final int end = (cdataEndPos < 0 ? len : cdataEndPos); | final int end = (cdataEndPos < 0 ? len : cdataEndPos); | ||||
| // Write out stretches of legal characters in the range [prevEnd, end). | // Write out stretches of legal characters in the range [prevEnd, end). | ||||
| @@ -545,8 +545,7 @@ public final class JavaEnvUtils { | |||||
| tests.addElement("org.xml.sax.XMLReader"); | tests.addElement("org.xml.sax.XMLReader"); | ||||
| } | } | ||||
| if (isAtLeastJavaVersion(JAVA_1_5)) { | if (isAtLeastJavaVersion(JAVA_1_5)) { | ||||
| tests.addElement( | |||||
| "com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl"); | |||||
| tests.addElement("com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl"); | |||||
| } | } | ||||
| if (isAtLeastJavaVersion(JAVA_1_7)) { | if (isAtLeastJavaVersion(JAVA_1_7)) { | ||||
| tests.addElement("jdk.net.Sockets"); | tests.addElement("jdk.net.Sockets"); | ||||
| @@ -357,7 +357,7 @@ public class LayoutPreservingProperties extends Properties { | |||||
| line = new Blank(); | line = new Blank(); | ||||
| } else { | } else { | ||||
| line = new Pair(logicalLineBuffer.toString()); | line = new Pair(logicalLineBuffer.toString()); | ||||
| final String key = unescape(((Pair)line).getName()); | |||||
| final String key = unescape(((Pair) line).getName()); | |||||
| if (keyedPairLines.containsKey(key)) { | if (keyedPairLines.containsKey(key)) { | ||||
| // this key is already present, so we remove it and add | // this key is already present, so we remove it and add | ||||
| // the new one | // the new one | ||||
| @@ -474,7 +474,7 @@ public class LayoutPreservingProperties extends Properties { | |||||
| buffy.append('\t'); | buffy.append('\t'); | ||||
| } else if (c == 'u') { | } else if (c == 'u') { | ||||
| // handle unicode escapes | // handle unicode escapes | ||||
| c = unescapeUnicode(ch, i+1); | |||||
| c = unescapeUnicode(ch, i + 1); | |||||
| i += 4; | i += 4; | ||||
| buffy.append(c); | buffy.append(c); | ||||
| } else { | } else { | ||||
| @@ -554,7 +554,7 @@ public class LayoutPreservingProperties extends Properties { | |||||
| } | } | ||||
| final int p = forEscaping.indexOf(c); | final int p = forEscaping.indexOf(c); | ||||
| if (p != -1) { | if (p != -1) { | ||||
| buffy.append("\\").append(escaped.substring(p,p+1)); | |||||
| buffy.append("\\").append(escaped.substring(p, p + 1)); | |||||
| } else if (c < 0x0020 || c > 0x007e) { | } else if (c < 0x0020 || c > 0x007e) { | ||||
| buffy.append(escapeUnicode(c)); | buffy.append(escapeUnicode(c)); | ||||
| } else { | } else { | ||||
| @@ -715,7 +715,7 @@ public class LayoutPreservingProperties extends Properties { | |||||
| value = null; | value = null; | ||||
| } else { | } else { | ||||
| name = text.substring(0, pos); | name = text.substring(0, pos); | ||||
| value = text.substring(pos+1, text.length()); | |||||
| value = text.substring(pos + 1, text.length()); | |||||
| } | } | ||||
| // trim leading whitespace only | // trim leading whitespace only | ||||
| name = stripStart(name, " \t\f"); | name = stripStart(name, " \t\f"); | ||||
| @@ -727,7 +727,7 @@ public class LayoutPreservingProperties extends Properties { | |||||
| } | } | ||||
| int i = 0; | int i = 0; | ||||
| for (;i < s.length(); i++) { | |||||
| for (; i < s.length(); i++) { | |||||
| if (chars.indexOf(s.charAt(i)) == -1) { | if (chars.indexOf(s.charAt(i)) == -1) { | ||||
| break; | break; | ||||
| } | } | ||||