Repository: ant Updated Branches: refs/heads/master bd82d189a -> 57895fd06
http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/TarResource.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/TarResource.java b/src/main/org/apache/tools/ant/types/resources/TarResource.java index 9bed83c..3b6892a 100644 --- a/src/main/org/apache/tools/ant/types/resources/TarResource.java +++ b/src/main/org/apache/tools/ant/types/resources/TarResource.java @@ -77,7 +77,7 @@ public class TarResource extends ArchiveResource { @Override public InputStream getInputStream() throws IOException { if (isReference()) { - return getCheckedRef().getInputStream(); + return getRef().getInputStream(); } Resource archive = getArchive(); final TarInputStream i = new TarInputStream(archive.getInputStream()); @@ -104,7 +104,7 @@ public class TarResource extends ArchiveResource { @Override public OutputStream getOutputStream() throws IOException { if (isReference()) { - return getCheckedRef().getOutputStream(); + return getRef().getOutputStream(); } throw new UnsupportedOperationException( "Use the tar task for tar output."); @@ -115,7 +115,7 @@ public class TarResource extends ArchiveResource { */ public String getUserName() { if (isReference()) { - return getCheckedRef().getUserName(); + return getRef().getUserName(); } checkEntry(); return userName; @@ -126,7 +126,7 @@ public class TarResource extends ArchiveResource { */ public String getGroup() { if (isReference()) { - return getCheckedRef().getGroup(); + return getRef().getGroup(); } checkEntry(); return groupName; @@ -138,7 +138,7 @@ public class TarResource extends ArchiveResource { */ public long getLongUid() { if (isReference()) { - return getCheckedRef().getLongUid(); + return getRef().getLongUid(); } checkEntry(); return uid; @@ -158,7 +158,7 @@ public class TarResource extends ArchiveResource { */ public long getLongGid() { if (isReference()) { - return getCheckedRef().getLongGid(); + return getRef().getLongGid(); } checkEntry(); return gid; @@ -194,8 +194,8 @@ public class TarResource extends ArchiveResource { } @Override - protected TarResource getCheckedRef() { - return (TarResource) super.getCheckedRef(); + protected TarResource getRef() { + return getCheckedRef(TarResource.class); } private void setEntry(TarEntry e) { http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/URLResource.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/URLResource.java b/src/main/org/apache/tools/ant/types/resources/URLResource.java index 3328356..bf0214b 100644 --- a/src/main/org/apache/tools/ant/types/resources/URLResource.java +++ b/src/main/org/apache/tools/ant/types/resources/URLResource.java @@ -143,7 +143,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized URL getURL() { if (isReference()) { - return ((URLResource) getCheckedRef()).getURL(); + return getRef().getURL(); } if (url == null) { if (baseURL != null) { @@ -180,7 +180,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized String getName() { if (isReference()) { - return getCheckedRef().getName(); + return getRef().getName(); } String name = getURL().getFile(); return name.isEmpty() ? name : name.substring(1); @@ -192,7 +192,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized String toString() { return isReference() - ? getCheckedRef().toString() : String.valueOf(getURL()); + ? getRef().toString() : String.valueOf(getURL()); } /** @@ -201,7 +201,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized boolean isExists() { if (isReference()) { - return getCheckedRef().isExists(); + return getRef().isExists(); } return isExists(false); } @@ -262,7 +262,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized long getLastModified() { if (isReference()) { - return getCheckedRef().getLastModified(); + return getRef().getLastModified(); } if (!isExists(false)) { return UNKNOWN_DATETIME; @@ -276,7 +276,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized boolean isDirectory() { return isReference() - ? getCheckedRef().isDirectory() + ? getRef().isDirectory() : getName().endsWith("/"); } @@ -287,7 +287,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized long getSize() { if (isReference()) { - return getCheckedRef().getSize(); + return getRef().getSize(); } if (!isExists(false)) { return 0L; @@ -305,7 +305,7 @@ public class URLResource extends Resource implements URLProvider { return true; } if (isReference()) { - return getCheckedRef().equals(another); + return getRef().equals(another); } if (another == null || another.getClass() != getClass()) { return false; @@ -322,7 +322,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized int hashCode() { if (isReference()) { - return getCheckedRef().hashCode(); + return getRef().hashCode(); } return MAGIC * ((getURL() == null) ? NULL_URL : getURL().hashCode()); } @@ -337,7 +337,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized InputStream getInputStream() throws IOException { if (isReference()) { - return getCheckedRef().getInputStream(); + return getRef().getInputStream(); } connect(); try { @@ -358,7 +358,7 @@ public class URLResource extends Resource implements URLProvider { */ public synchronized OutputStream getOutputStream() throws IOException { if (isReference()) { - return getCheckedRef().getOutputStream(); + return getRef().getOutputStream(); } connect(); try { @@ -401,6 +401,11 @@ public class URLResource extends Resource implements URLProvider { } } + @Override + protected URLResource getRef() { + return getCheckedRef(URLResource.class); + } + /** * Closes the URL connection if: * - it is opened (i.e. the field conn is not null) http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/Union.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/Union.java b/src/main/org/apache/tools/ant/types/resources/Union.java index 43c1b57..337287f 100644 --- a/src/main/org/apache/tools/ant/types/resources/Union.java +++ b/src/main/org/apache/tools/ant/types/resources/Union.java @@ -82,7 +82,7 @@ public class Union extends BaseResourceCollectionContainer { */ public String[] list() { if (isReference()) { - return getCheckedRef(Union.class, getDataTypeName()).list(); + return getRef().list(); } return streamResources().map(Object::toString).toArray(String[]::new); } @@ -93,7 +93,7 @@ public class Union extends BaseResourceCollectionContainer { */ public Resource[] listResources() { if (isReference()) { - return getCheckedRef(Union.class, getDataTypeName()).listResources(); + return getRef().listResources(); } return streamResources().toArray(Resource[]::new); } @@ -139,6 +139,10 @@ public class Union extends BaseResourceCollectionContainer { .collect(Collectors.toCollection(LinkedHashSet::new)); } + private Union getRef() { + return getCheckedRef(Union.class); + } + private Stream<? extends Resource> streamResources() { return streamResources(Function.identity()); } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/ZipResource.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/ZipResource.java b/src/main/org/apache/tools/ant/types/resources/ZipResource.java index acd2ed4..c420113 100644 --- a/src/main/org/apache/tools/ant/types/resources/ZipResource.java +++ b/src/main/org/apache/tools/ant/types/resources/ZipResource.java @@ -105,7 +105,7 @@ public class ZipResource extends ArchiveResource { */ public String getEncoding() { return isReference() - ? ((ZipResource) getCheckedRef()).getEncoding() : encoding; + ? getRef().getEncoding() : encoding; } /** @@ -127,7 +127,7 @@ public class ZipResource extends ArchiveResource { */ public InputStream getInputStream() throws IOException { if (isReference()) { - return getCheckedRef().getInputStream(); + return getRef().getInputStream(); } return getZipEntryStream(new ZipFile(getZipfile(), getEncoding()), getName()); } @@ -142,7 +142,7 @@ public class ZipResource extends ArchiveResource { */ public OutputStream getOutputStream() throws IOException { if (isReference()) { - return getCheckedRef().getOutputStream(); + return getRef().getOutputStream(); } throw new UnsupportedOperationException( "Use the zip task for zip output."); @@ -155,7 +155,7 @@ public class ZipResource extends ArchiveResource { */ public ZipExtraField[] getExtraFields() { if (isReference()) { - return ((ZipResource) getCheckedRef()).getExtraFields(); + return getRef().getExtraFields(); } checkEntry(); if (extras == null) { @@ -219,6 +219,11 @@ public class ZipResource extends ArchiveResource { } } + @Override + protected ZipResource getRef() { + return getCheckedRef(ZipResource.class); + } + private void setEntry(ZipEntry e) { if (e == null) { setExists(false); http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java b/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java index 6f25370..949531a 100644 --- a/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java +++ b/src/main/org/apache/tools/ant/types/resources/comparators/DelegatedResourceComparator.java @@ -54,7 +54,7 @@ public class DelegatedResourceComparator extends ResourceComparator { /** * Equality method based on the vector of resources, - * or if a reference, the referredto object. + * or if a reference, the referred to object. * @param o the object to check against. * @return true if there is equality. */ @@ -64,7 +64,7 @@ public class DelegatedResourceComparator extends ResourceComparator { return true; } if (isReference()) { - return getCheckedRef().equals(o); + return getCheckedRef(DelegatedResourceComparator.class).equals(o); } if (o instanceof DelegatedResourceComparator) { List<ResourceComparator> ov = ((DelegatedResourceComparator) o).resourceComparators; @@ -80,7 +80,7 @@ public class DelegatedResourceComparator extends ResourceComparator { @Override public synchronized int hashCode() { if (isReference()) { - return getCheckedRef().hashCode(); + return getCheckedRef(DelegatedResourceComparator.class).hashCode(); } return resourceComparators == null ? 0 : resourceComparators.hashCode(); } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java b/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java index b565fef..e24477e 100644 --- a/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java +++ b/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java @@ -39,7 +39,7 @@ public abstract class ResourceComparator extends DataType implements Comparator< @Override public final int compare(Resource foo, Resource bar) { dieOnCircularReference(); - ResourceComparator c = isReference() ? getCheckedRef() : this; + ResourceComparator c = isReference() ? getRef() : this; return c.resourceCompare(foo, bar); } @@ -51,7 +51,7 @@ public abstract class ResourceComparator extends DataType implements Comparator< @Override public boolean equals(Object o) { if (isReference()) { - return getCheckedRef().equals(o); + return getRef().equals(o); } return o != null && (o == this || o.getClass().equals(getClass())); } @@ -63,7 +63,7 @@ public abstract class ResourceComparator extends DataType implements Comparator< @Override public synchronized int hashCode() { if (isReference()) { - return getCheckedRef().hashCode(); + return getRef().hashCode(); } return getClass().hashCode(); } @@ -77,8 +77,7 @@ public abstract class ResourceComparator extends DataType implements Comparator< */ protected abstract int resourceCompare(Resource foo, Resource bar); - @Override - protected ResourceComparator getCheckedRef() { - return (ResourceComparator) super.getCheckedRef(); + private ResourceComparator getRef() { + return getCheckedRef(ResourceComparator.class); } } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java b/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java index 14076a5..61170b1 100644 --- a/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java +++ b/src/main/org/apache/tools/ant/types/resources/selectors/Compare.java @@ -100,7 +100,7 @@ public class Compare extends DataType implements ResourceSelector { /** {@inheritDoc} */ public synchronized boolean isSelected(Resource r) { if (isReference()) { - return ((ResourceSelector) getCheckedRef()).isSelected(r); + return getRef().isSelected(r); } if (control == null) { throw oneControl(); @@ -140,6 +140,10 @@ public class Compare extends DataType implements ResourceSelector { } } + private ResourceSelector getRef() { + return getCheckedRef(ResourceSelector.class); + } + private BuildException oneControl() { return new BuildException("%s the <control> element should be specified exactly once.", super.toString()); http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java b/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java index 9ac639c..c82defe 100644 --- a/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java +++ b/src/main/org/apache/tools/ant/types/resources/selectors/ResourceSelectorContainer.java @@ -72,7 +72,7 @@ public class ResourceSelectorContainer extends DataType { */ public boolean hasSelectors() { if (isReference()) { - return getCheckedRef().hasSelectors(); + return getRef().hasSelectors(); } dieOnCircularReference(); return !resourceSelectors.isEmpty(); @@ -84,7 +84,7 @@ public class ResourceSelectorContainer extends DataType { */ public int selectorCount() { if (isReference()) { - return getCheckedRef().selectorCount(); + return getRef().selectorCount(); } dieOnCircularReference(); return resourceSelectors.size(); @@ -96,7 +96,7 @@ public class ResourceSelectorContainer extends DataType { */ public Iterator<ResourceSelector> getSelectors() { if (isReference()) { - return getCheckedRef().getSelectors(); + return getRef().getSelectors(); } return getResourceSelectors().iterator(); } @@ -107,7 +107,7 @@ public class ResourceSelectorContainer extends DataType { */ public List<ResourceSelector> getResourceSelectors() { if (isReference()) { - return getCheckedRef().getResourceSelectors(); + return getRef().getResourceSelectors(); } dieOnCircularReference(); return Collections.unmodifiableList(resourceSelectors); @@ -136,8 +136,7 @@ public class ResourceSelectorContainer extends DataType { } } - @Override - protected ResourceSelectorContainer getCheckedRef() { - return (ResourceSelectorContainer) super.getCheckedRef(); + private ResourceSelectorContainer getRef() { + return getCheckedRef(ResourceSelectorContainer.class); } } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java b/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java index f8f9b19..b02ee39 100644 --- a/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java +++ b/src/main/org/apache/tools/ant/types/selectors/AbstractSelectorContainer.java @@ -50,7 +50,7 @@ public abstract class AbstractSelectorContainer extends DataType @Override public boolean hasSelectors() { if (isReference()) { - return getCheckedRef().hasSelectors(); + return getRef().hasSelectors(); } dieOnCircularReference(); return !selectorsList.isEmpty(); @@ -62,7 +62,7 @@ public abstract class AbstractSelectorContainer extends DataType */ public int selectorCount() { if (isReference()) { - return getCheckedRef().selectorCount(); + return getRef().selectorCount(); } dieOnCircularReference(); return selectorsList.size(); @@ -75,8 +75,7 @@ public abstract class AbstractSelectorContainer extends DataType */ public FileSelector[] getSelectors(Project p) { if (isReference()) { - return getCheckedRef(AbstractSelectorContainer.class, - getDataTypeName(), p).getSelectors(p); + return getRef(p).getSelectors(p); } dieOnCircularReference(p); return selectorsList.toArray(new FileSelector[selectorsList.size()]); @@ -88,7 +87,7 @@ public abstract class AbstractSelectorContainer extends DataType */ public Enumeration<FileSelector> selectorElements() { if (isReference()) { - return getCheckedRef().selectorElements(); + return getRef().selectorElements(); } dieOnCircularReference(); return Collections.enumeration(selectorsList); @@ -137,7 +136,7 @@ public abstract class AbstractSelectorContainer extends DataType */ public void validate() { if (isReference()) { - getCheckedRef().validate(); + getRef().validate(); } dieOnCircularReference(); selectorsList.stream().filter(BaseSelector.class::isInstance) @@ -367,7 +366,7 @@ public abstract class AbstractSelectorContainer extends DataType public synchronized Object clone() { if (isReference()) { - return getCheckedRef().clone(); + return getRef().clone(); } try { AbstractSelectorContainer sc = @@ -379,9 +378,13 @@ public abstract class AbstractSelectorContainer extends DataType } } - @Override - protected AbstractSelectorContainer getCheckedRef() { - return (AbstractSelectorContainer) super.getCheckedRef(); + + private AbstractSelectorContainer getRef(Project p) { + return getCheckedRef(AbstractSelectorContainer.class, getDataTypeName(), p); + } + + private AbstractSelectorContainer getRef() { + return getCheckedRef(AbstractSelectorContainer.class); } } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/selectors/BaseSelector.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/selectors/BaseSelector.java b/src/main/org/apache/tools/ant/types/selectors/BaseSelector.java index 7ae6d80..fbd37e4 100644 --- a/src/main/org/apache/tools/ant/types/selectors/BaseSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/BaseSelector.java @@ -80,7 +80,7 @@ public abstract class BaseSelector extends DataType implements FileSelector { */ public void verifySettings() { if (isReference()) { - getCheckedRef().verifySettings(); + getRef().verifySettings(); } } @@ -114,9 +114,8 @@ public abstract class BaseSelector extends DataType implements FileSelector { public abstract boolean isSelected(File basedir, String filename, File file); - @Override - protected BaseSelector getCheckedRef() { - return (BaseSelector) super.getCheckedRef(); + private BaseSelector getRef() { + return getCheckedRef(BaseSelector.class); } } http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java b/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java index 82afd06..e63fe93 100644 --- a/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/SelectSelector.java @@ -66,7 +66,7 @@ public class SelectSelector extends BaseSelectorContainer { * referenced Selector. */ private SelectSelector getRef() { - return getCheckedRef(this.getClass(), "SelectSelector"); + return getCheckedRef(SelectSelector.class); } /** http://git-wip-us.apache.org/repos/asf/ant/blob/57895fd0/src/tests/junit/org/apache/tools/ant/taskdefs/TarTest.java ---------------------------------------------------------------------- diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/TarTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/TarTest.java index d3f583a..09bec7d 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/TarTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/TarTest.java @@ -182,5 +182,8 @@ public class TarTest { FileUtilities.getFileContents(new File(buildRule.getProject().getProperty("output"), "untar/asf-logo.gif.gz"))); } - + @Test + public void testtestTarFilesetWithReference() { + buildRule.executeTarget("testTarFilesetWithReference"); + } }