Browse Source

simplify

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@721698 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
aa373b9f5e
16 changed files with 41 additions and 56 deletions
  1. +1
    -3
      src/main/org/apache/tools/ant/types/ArchiveFileSet.java
  2. +20
    -0
      src/main/org/apache/tools/ant/types/DataType.java
  3. +1
    -3
      src/main/org/apache/tools/ant/types/Path.java
  4. +2
    -6
      src/main/org/apache/tools/ant/types/XMLCatalog.java
  5. +2
    -7
      src/main/org/apache/tools/ant/types/resources/Archives.java
  6. +1
    -3
      src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionContainer.java
  7. +1
    -3
      src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java
  8. +2
    -6
      src/main/org/apache/tools/ant/types/resources/MappedResourceCollection.java
  9. +1
    -3
      src/main/org/apache/tools/ant/types/resources/ResourceDecorator.java
  10. +1
    -1
      src/main/org/apache/tools/ant/types/resources/Resources.java
  11. +1
    -3
      src/main/org/apache/tools/ant/types/resources/Restrict.java
  12. +1
    -3
      src/main/org/apache/tools/ant/types/resources/Sort.java
  13. +2
    -3
      src/main/org/apache/tools/ant/types/resources/Tokens.java
  14. +2
    -3
      src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java
  15. +2
    -6
      src/main/org/apache/tools/ant/types/resources/selectors/Compare.java
  16. +1
    -3
      src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java

+ 1
- 3
src/main/org/apache/tools/ant/types/ArchiveFileSet.java View File

@@ -525,9 +525,7 @@ public abstract class ArchiveFileSet extends FileSet {
super.dieOnCircularReference(stk, p);
} else {
if (src != null) {
stk.push(src);
invokeCircularReferenceCheck(src, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(src, stk, p);
}
setChecked(true);
}


+ 20
- 0
src/main/org/apache/tools/ant/types/DataType.java View File

@@ -171,6 +171,26 @@ public abstract class DataType extends ProjectComponent implements Cloneable {
dt.dieOnCircularReference(stk, p);
}

/**
* Allow DataTypes outside org.apache.tools.ant.types to indirectly call
* dieOnCircularReference on nested DataTypes.
*
* <p>Pushes dt on the stack, runs dieOnCircularReference and pops
* it again.</p>
* @param dt the DataType to check.
* @param stk the stack of references to check.
* @param p the project to use to dereference the references.
* @throws BuildException on error.
* @since Ant 1.8.0
*/
public static void pushAndInvokeCircularReferenceCheck(DataType dt,
Stack stk,
Project p) {
stk.push(dt);
dt.dieOnCircularReference(stk, p);
stk.pop();
}

/**
* Performs the check for circular references and returns the
* referenced object.


+ 1
- 3
src/main/org/apache/tools/ant/types/Path.java View File

@@ -478,9 +478,7 @@ public class Path extends DataType implements Cloneable, ResourceCollection {
super.dieOnCircularReference(stk, p);
} else {
if (union != null) {
stk.push(union);
invokeCircularReferenceCheck(union, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(union, stk, p);
}
setChecked(true);
}


+ 2
- 6
src/main/org/apache/tools/ant/types/XMLCatalog.java View File

@@ -461,14 +461,10 @@ public class XMLCatalog extends DataType
super.dieOnCircularReference(stk, p);
} else {
if (classpath != null) {
stk.push(classpath);
invokeCircularReferenceCheck(classpath, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(classpath, stk, p);
}
if (catalogPath != null) {
stk.push(catalogPath);
invokeCircularReferenceCheck(catalogPath, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(catalogPath, stk, p);
}
setChecked(true);
}


+ 2
- 7
src/main/org/apache/tools/ant/types/resources/Archives.java View File

@@ -183,15 +183,10 @@ public class Archives extends DataType
if (isReference()) {
super.dieOnCircularReference(stk, p);
} else {
checkForCircularReference(zips, stk, p);
checkForCircularReference(tars, stk, p);
pushAndInvokeCircularReferenceCheck(zips, stk, p);
pushAndInvokeCircularReferenceCheck(tars, stk, p);
setChecked(true);
}
}

protected void checkForCircularReference(DataType t, Stack stk, Project p) {
stk.push(t);
invokeCircularReferenceCheck(t, stk, p);
stk.pop();
}
}

+ 1
- 3
src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionContainer.java View File

@@ -185,9 +185,7 @@ public abstract class BaseResourceCollectionContainer
for (Iterator i = rc.iterator(); i.hasNext();) {
Object o = i.next();
if (o instanceof DataType) {
stk.push(o);
invokeCircularReferenceCheck((DataType) o, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) o, stk, p);
}
}
setChecked(true);


+ 1
- 3
src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java View File

@@ -147,9 +147,7 @@ public abstract class BaseResourceCollectionWrapper
super.dieOnCircularReference(stk, p);
} else {
if (rc instanceof DataType) {
stk.push(rc);
invokeCircularReferenceCheck((DataType) rc, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) rc, stk, p);
}
setChecked(true);
}


+ 2
- 6
src/main/org/apache/tools/ant/types/resources/MappedResourceCollection.java View File

@@ -161,14 +161,10 @@ public class MappedResourceCollection
} else {
checkInitialized();
if (mapper != null) {
stk.push(mapper);
invokeCircularReferenceCheck(mapper, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(mapper, stk, p);
}
if (nested instanceof DataType) {
stk.push(nested);
invokeCircularReferenceCheck((DataType) nested, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) nested, stk, p);
}
setChecked(true);
}


+ 1
- 3
src/main/org/apache/tools/ant/types/resources/ResourceDecorator.java View File

@@ -209,9 +209,7 @@ public abstract class ResourceDecorator extends Resource {
if (isReference()) {
super.dieOnCircularReference(stack, project);
} else {
stack.push(resource);
invokeCircularReferenceCheck(resource, stack, project);
stack.pop();
pushAndInvokeCircularReferenceCheck(resource, stack, project);
setChecked(true);
}
}


+ 1
- 1
src/main/org/apache/tools/ant/types/resources/Resources.java View File

@@ -208,7 +208,7 @@ public class Resources extends DataType implements ResourceCollection {
for (Iterator i = getNested().iterator(); i.hasNext();) {
Object o = i.next();
if (o instanceof DataType) {
invokeCircularReferenceCheck((DataType) o, stk, p);
pushAndInvokeCircularReferenceCheck((DataType) o, stk, p);
}
}
setChecked(true);


+ 1
- 3
src/main/org/apache/tools/ant/types/resources/Restrict.java View File

@@ -157,9 +157,7 @@ outer: for (Iterator ri = w.getResourceCollection().iterator(); ri.hasNext(
super.dieOnCircularReference(stk, p);

if (!isReference()) {
stk.push(w);
invokeCircularReferenceCheck(w, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck(w, stk, p);
setChecked(true);
}
}


+ 1
- 3
src/main/org/apache/tools/ant/types/resources/Sort.java View File

@@ -144,9 +144,7 @@ public class Sort extends BaseResourceCollectionWrapper {
if (isReference()) {
super.dieOnCircularReference(stk, p);
} else {
stk.push(comp);
DataType.invokeCircularReferenceCheck(comp, stk, p);
stk.pop();
DataType.pushAndInvokeCircularReferenceCheck(comp, stk, p);
setChecked(true);
}
}


+ 2
- 3
src/main/org/apache/tools/ant/types/resources/Tokens.java View File

@@ -121,9 +121,8 @@ public class Tokens extends BaseResourceCollectionWrapper {
super.dieOnCircularReference(stk, p);
} else {
if (tokenizer instanceof DataType) {
stk.push(tokenizer);
invokeCircularReferenceCheck((DataType) tokenizer, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) tokenizer, stk,
p);
}
setChecked(true);
}


+ 2
- 3
src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java View File

@@ -114,9 +114,8 @@ s.
for (Iterator i = v.iterator(); i.hasNext();) {
Object o = i.next();
if (o instanceof DataType) {
stk.push(o);
invokeCircularReferenceCheck((DataType) o, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) o, stk,
p);
}
}
}


+ 2
- 6
src/main/org/apache/tools/ant/types/resources/selectors/Compare.java View File

@@ -137,13 +137,9 @@ public class Compare extends DataType implements ResourceSelector {
super.dieOnCircularReference(stk, p);
} else {
if (control != null) {
stk.push(control);
DataType.invokeCircularReferenceCheck(control, stk, p);
stk.pop();
DataType.pushAndInvokeCircularReferenceCheck(control, stk, p);
}
stk.push(comp);
DataType.invokeCircularReferenceCheck(comp, stk, p);
stk.pop();
DataType.pushAndInvokeCircularReferenceCheck(comp, stk, p);
setChecked(true);
}
}


+ 1
- 3
src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java View File

@@ -118,9 +118,7 @@ public class ResourceSelectorContainer extends DataType {
for (Iterator i = v.iterator(); i.hasNext();) {
Object o = i.next();
if (o instanceof DataType) {
stk.push(o);
invokeCircularReferenceCheck((DataType) o, stk, p);
stk.pop();
pushAndInvokeCircularReferenceCheck((DataType) o, stk, p);
}
}
setChecked(true);


Loading…
Cancel
Save