From a29d85db04ba14e0d906f8b8548c9fe23496b78d Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 9 Sep 2011 19:11:51 +0000 Subject: [PATCH] NIHVIVO-2811 getting closer - working except for themes. --- .../DirDifferenceResourceCollection.class | Bin 5320 -> 3307 bytes .../AbstractDirResourceCollection.java | 1 - .../DirDifferenceResourceCollection.java | 112 +----------------- .../OptionalDirResourceCollection.java | 35 ++++++ webapp/build.xml | 9 +- webapp/product-build.xml | 76 ++++++------ 6 files changed, 77 insertions(+), 156 deletions(-) create mode 100644 utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/OptionalDirResourceCollection.java diff --git a/utilities/anttasks/classes/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.class b/utilities/anttasks/classes/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.class index 25048a6839b8ec15389fb8df2ca9a945d3b3b2e4..5d648d452817eedbc490e3bebb4975233b655604 100644 GIT binary patch literal 3307 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 SM%k<517{rpS;Frpp!^?2I|JAN diff --git a/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/AbstractDirResourceCollection.java b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/AbstractDirResourceCollection.java index b461fba32..058912f46 100644 --- a/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/AbstractDirResourceCollection.java +++ b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/AbstractDirResourceCollection.java @@ -4,7 +4,6 @@ package edu.cornell.mannlib.vitro.utilities.anttasks; import java.io.File; import java.io.FileFilter; -import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.java b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.java index 4c9d15da5..bd2da2425 100644 --- a/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.java +++ b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/DirDifferenceResourceCollection.java @@ -3,14 +3,9 @@ package edu.cornell.mannlib.vitro.utilities.anttasks; import java.io.File; -import java.io.FileFilter; import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.types.DataType; -import org.apache.tools.ant.types.Resource; import org.apache.tools.ant.types.ResourceCollection; import org.apache.tools.ant.types.resources.FileResource; @@ -18,40 +13,11 @@ import org.apache.tools.ant.types.resources.FileResource; * Include all files that are in the primary directory, but do not have matching * files in the blocking directory. */ -public class DirDifferenceResourceCollection extends DataType implements - ResourceCollection { - private List files = null; - private File primaryDir; +public class DirDifferenceResourceCollection extends + AbstractDirResourceCollection implements ResourceCollection { private File blockingDir; private boolean blockingOptional; - @Override - public boolean isFilesystemOnly() { - return true; - } - - /** - * Insure that the list has been filled and return an iterator to the list. - */ - @Override - public Iterator iterator() { - fillFilesList(); - return files.iterator(); - } - - /** - * Insure that the list has been filled and return the size of the list. - */ - @Override - public int size() { - fillFilesList(); - return files.size(); - } - - public void setPrimary(File primaryDir) { - this.primaryDir = primaryDir; - } - public void setBlocking(File blockingDir) { this.blockingDir = blockingDir; } @@ -65,7 +31,8 @@ public class DirDifferenceResourceCollection extends DataType implements * primary directory that are not blocked by files with the same path under * the blocking directory. */ - private void fillFilesList() { + @Override + protected void fillFilesList() { if (files != null) { return; } @@ -75,33 +42,6 @@ public class DirDifferenceResourceCollection extends DataType implements files = new ArrayList(); includeUnblockedFiles(primaryDir, blockingDir); - - } - - /** - * The primary and blocking directory paths must be provided, and must point - * to existing, readable directories. - */ - private void confirmValidDirectory(File dir, String label, boolean optional) { - if (dir == null) { - throw new BuildException(label + " directory not specified."); - } - if (!dir.exists()) { - if (optional) { - return; - } else { - throw new BuildException(label + " directory '" + dir.getPath() - + "' does not exist."); - } - } - if (!dir.isDirectory()) { - throw new BuildException(label + " directory '" + dir.getPath() - + "' is not a directory."); - } - if (!dir.canRead()) { - throw new BuildException(label + " directory '" + dir.getPath() - + "' is not readable."); - } } /** @@ -149,48 +89,4 @@ public class DirDifferenceResourceCollection extends DataType implements return dir; } - private void includeAllFiles(File primary) { - for (File file : primary.listFiles(new NonDirectoryFilter())) { - files.add(buildResource(file)); - } - for (File primarySubDir : primary.listFiles(new DirectoryFilter())) { - includeAllFiles(primarySubDir); - } - } - - /** - * All file resources are based on the original primary directory. - */ - private FileResource buildResource(File file) { - String primaryBasePath = primaryDir.getAbsolutePath(); - String filePath = file.getAbsolutePath(); - if (!filePath.startsWith(primaryBasePath)) { - throw new IllegalStateException("File is not a descendant " - + "of the primary directory: file='" + file - + "', primary='" + primaryDir + "'"); - } - - String pathPart = filePath.substring(primaryBasePath.length()); - if (pathPart.startsWith(File.separator)) { - pathPart = pathPart.substring(1); - } - - // System.out.println("Resource: b='" + primaryDir + "', name='" + - // pathPart + "'"); - return new FileResource(primaryDir, pathPart); - } - - public class DirectoryFilter implements FileFilter { - @Override - public boolean accept(File file) { - return file.isDirectory(); - } - } - - public class NonDirectoryFilter implements FileFilter { - @Override - public boolean accept(File file) { - return !file.isDirectory(); - } - } } diff --git a/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/OptionalDirResourceCollection.java b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/OptionalDirResourceCollection.java new file mode 100644 index 000000000..65daae2b3 --- /dev/null +++ b/utilities/anttasks/src/edu/cornell/mannlib/vitro/utilities/anttasks/OptionalDirResourceCollection.java @@ -0,0 +1,35 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.utilities.anttasks; + +import java.util.ArrayList; + +import org.apache.tools.ant.types.ResourceCollection; +import org.apache.tools.ant.types.resources.FileResource; + +/** + * If the primary directory exists, include all files that are descendent from + * it. Otherwise, don't complain but act as a collection of zero files. + */ +public class OptionalDirResourceCollection extends + AbstractDirResourceCollection implements ResourceCollection { + + /** + * If the list hasn't already been filled, fill it with all files in the + * primary directory that are not blocked by files with the same path under + * the blocking directory. + */ + @Override + protected void fillFilesList() { + if (files != null) { + return; + } + files = new ArrayList(); + + confirmValidDirectory(primaryDir, "The", true); + + if (primaryDir.exists()) { + includeAllFiles(primaryDir); + } + } +} diff --git a/webapp/build.xml b/webapp/build.xml index 938453455..1e137e708 100644 --- a/webapp/build.xml +++ b/webapp/build.xml @@ -13,7 +13,7 @@ - + Store revision info in build"> - + + @@ -243,7 +244,7 @@ deploy - Deploy the application directly into the Tomcat webapps directory. ${revisionInfo.timestamp} - - + diff --git a/webapp/product-build.xml b/webapp/product-build.xml index 285cd762f..e8bb94805 100644 --- a/webapp/product-build.xml +++ b/webapp/product-build.xml @@ -42,14 +42,18 @@ + - + + @@ -68,22 +72,38 @@ blockingOptional="true" /> - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - @@ -162,36 +182,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -