[CJ-dev] commonjava-projects/commonjava-dirdigester/src/java/org/commonjava/dirdigester DirectoryDig
Brought to you by:
johnqueso
From: <joh...@co...> - 2004-02-02 07:05:56
|
Update of /cvsroot/commonjava/commonjava-projects/commonjava-dirdigester/src/java/org/commonjava/dirdigester In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19044/src/java/org/commonjava/dirdigester Modified Files: DirectoryDigester.java DirDigestOptions.java Log Message: modified options class to accept a filename filter directly, and made the digester check for this before creating one from the fileMask. Index: DirectoryDigester.java =================================================================== RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-dirdigester/src/java/org/commonjava/dirdigester/DirectoryDigester.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- DirectoryDigester.java 17 Jan 2004 04:13:35 -0000 1.1.1.1 +++ DirectoryDigester.java 2 Feb 2004 07:03:53 -0000 1.2 @@ -101,10 +101,12 @@ private DirectoryDigest _generateDigests(DirDigestOptions info) throws DirectoryDigestException { try { - String mask = info.getFileMask(); - FilenameFilter filter = null; - if(mask != null) { - filter = new RegexFilenameFilter(mask, info.maskAbsolutePath()); + FilenameFilter filter = info.getFilenameFilter(); + if(filter == null){ + String mask = info.getFileMask(); + if(mask != null) { + filter = new RegexFilenameFilter(mask, info.maskAbsolutePath()); + } } String[] filenames = null; Index: DirDigestOptions.java =================================================================== RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-dirdigester/src/java/org/commonjava/dirdigester/DirDigestOptions.java,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- DirDigestOptions.java 31 Dec 2003 01:19:57 -0000 1.1.1.1 +++ DirDigestOptions.java 2 Feb 2004 07:03:53 -0000 1.2 @@ -1,6 +1,7 @@ /* Created on Dec 30, 2003 */ package org.commonjava.dirdigester; +import java.io.FilenameFilter; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; @@ -14,6 +15,7 @@ private String file; private String directory; private String fileMask; + private FilenameFilter filenameFilter; private boolean maskAbsolutePath = true; private boolean recurse = true; private boolean trimBaseDir = false; @@ -136,6 +138,7 @@ this.file = (String)in.readObject(); this.directory = (String)in.readObject(); this.fileMask = (String)in.readObject(); + this.filenameFilter = (FilenameFilter)in.readObject(); this.maskAbsolutePath = in.readBoolean(); this.recurse = in.readBoolean(); this.trimBaseDir = in.readBoolean(); @@ -145,9 +148,30 @@ out.writeObject(file); out.writeObject(directory); out.writeObject(fileMask); + out.writeObject(filenameFilter); out.writeBoolean(maskAbsolutePath); out.writeBoolean(recurse); out.writeBoolean(trimBaseDir); } + /** + * @return + */ + public FilenameFilter getFilenameFilter() { + return filenameFilter; + } + + /** + * @param filter + */ + public void setFilenameFilter(FilenameFilter filter) { + if(!(filter instanceof Serializable)){ + throw new IllegalArgumentException( + "Cannot use non-serializable FilenameFilter in DirDigestOptions, " + "since options must persist with directory signature." + ); + } + + filenameFilter = filter; + } + } |