Skip to content

Commit e317bae

Browse files
committed
Merge pull request #48 from Georgetown-University-Libraries/sd-277
Sd 277: File Analyzer Property Validation and Merge Tuning
2 parents 7a88fc3 + 171efae commit e317bae

31 files changed

Lines changed: 599 additions & 175 deletions

core/src/main/gov/nara/nwts/ftapp/FileTraversal.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import gov.nara.nwts.ftapp.FTDriver;
99
import gov.nara.nwts.ftapp.filetest.FileTest;
10+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
1011
import gov.nara.nwts.ftapp.stats.Stats;
1112

1213
/**
@@ -25,6 +26,7 @@ public class FileTraversal {
2526
protected int max;
2627
protected int numProcessed = 0;
2728
protected boolean cancelled = false;
29+
public InitializationStatus iStat;
2830

2931
public int getNumProcessed() {
3032
return numProcessed;
@@ -138,7 +140,13 @@ public boolean traverseFile(FileTest fileTest, int max) {
138140
fileFilter = driver.getFileFilter(fileTest);
139141
dirnameFilter = driver.getDirectoryFilter(fileTest);
140142
traversalStart();
141-
fileTest.init();
143+
iStat = fileTest.init();
144+
if (iStat.hasFailTest()){
145+
double duration = timer.getDuration();
146+
String name = fileTest.getShortName()+(++driver.summaryCount);
147+
traversalEnd(name, false, duration);
148+
return false;
149+
}
142150
countDirectories(driver.root);
143151
completeDirectoryScan();
144152
boolean completed = traverse(driver.root, fileTest, max);

core/src/main/gov/nara/nwts/ftapp/filetest/CounterValidation.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import gov.nara.nwts.ftapp.filter.TxtFilter;
1616
import gov.nara.nwts.ftapp.ftprop.FTPropEnum;
1717
import gov.nara.nwts.ftapp.ftprop.FTPropString;
18+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
1819
import gov.nara.nwts.ftapp.importer.DelimitedFileReader;
1920
import gov.nara.nwts.ftapp.importer.DelimitedFileWriter;
2021
import gov.nara.nwts.ftapp.importer.Importer;
@@ -233,9 +234,6 @@ public void refineResults() {
233234
showValid = false;
234235
}
235236

236-
public void init() {
237-
}
238-
239237
public Stats createStats(String key){
240238
return Generator.INSTANCE.create(key);
241239
}
@@ -267,6 +265,10 @@ public ActionResult importFile(File selectedFile) throws IOException {
267265
public boolean allowForceKey() {
268266
return false;
269267
}
268+
@Override
269+
public InitializationStatus initValidate(File refFile) {
270+
return init();
271+
}
270272

271273

272274
}

core/src/main/gov/nara/nwts/ftapp/filetest/DefaultFileTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import gov.nara.nwts.ftapp.filter.JpegFileTestFilter;
1515
import gov.nara.nwts.ftapp.filter.TiffFileTestFilter;
1616
import gov.nara.nwts.ftapp.ftprop.FTProp;
17+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
1718
import gov.nara.nwts.ftapp.stats.Stats;
1819
import gov.nara.nwts.ftapp.stats.CountStats;
1920
import gov.nara.nwts.ftapp.stats.StatsItemConfig;
@@ -129,7 +130,12 @@ public boolean isTestFiles() {
129130
public Pattern getDirectoryPattern() {
130131
return null;
131132
}
132-
public void init() {
133+
public InitializationStatus init() {
134+
InitializationStatus iStat = new InitializationStatus();
135+
for(FTProp prop: ftprops) {
136+
iStat.addMessage(prop.initValidation(getRoot()));
137+
}
138+
return iStat;
133139
}
134140
public void refineResults() {
135141
}

core/src/main/gov/nara/nwts/ftapp/filetest/DigitalDerivatives.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import gov.nara.nwts.ftapp.filetest.DefaultFileTest;
55
import gov.nara.nwts.ftapp.filter.DefaultFileTestFilter;
66
import gov.nara.nwts.ftapp.ftprop.FTPropString;
7+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
78
import gov.nara.nwts.ftapp.stats.Stats;
89
import gov.nara.nwts.ftapp.stats.StatsGenerator;
910
import gov.nara.nwts.ftapp.stats.StatsItem;
@@ -93,8 +94,7 @@ public String toString() {
9394
Vector<String>extensions;
9495
Vector<String>extensionsReq;
9596

96-
public void init() {
97-
97+
@Override public InitializationStatus init() {
9898
match = getProperty(REGX_MATCH, DEF_MATCH).toString();
9999
try {
100100
pMatch = Pattern.compile(match);
@@ -121,6 +121,7 @@ public void init() {
121121
extensions.add(s);
122122
details.addStatsItem(s, StatsItem.makeEnumStatsItem(FOUND.class, s));
123123
}
124+
return super.init();
124125
}
125126

126127
public String getExt(String test) {

core/src/main/gov/nara/nwts/ftapp/filetest/FileTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import gov.nara.nwts.ftapp.stats.StatsItemConfig;
1010
import gov.nara.nwts.ftapp.filter.FileTestFilter;
1111
import gov.nara.nwts.ftapp.ftprop.FTProp;
12+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
1213

1314
/**
1415
* Contract defining the behavior of a File Analyzer custom rule.
@@ -46,7 +47,7 @@ public interface FileTest {
4647
public Pattern getDirectoryPattern();
4748

4849
public void refineResults();
49-
public void init();
50+
public InitializationStatus init();
5051

5152
public void progress(int count);
5253
public FileTest resetOption();

core/src/main/gov/nara/nwts/ftapp/filetest/NameChecksum.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import gov.nara.nwts.ftapp.FTDriver;
44
import gov.nara.nwts.ftapp.YN;
55
import gov.nara.nwts.ftapp.ftprop.FTPropEnum;
6+
import gov.nara.nwts.ftapp.ftprop.InitializationStatus;
67
import gov.nara.nwts.ftapp.stats.ChecksumStats;
78
import gov.nara.nwts.ftapp.stats.ChecksumStats.ChecksumStatsItems;
89
import gov.nara.nwts.ftapp.stats.Stats;
@@ -60,8 +61,9 @@ public String getKey(File f) {
6061
return getRelPath(f);
6162
}
6263

63-
@Override public void init() {
64+
@Override public InitializationStatus init() {
6465
keymap.clear();
66+
return super.init();
6567
}
6668

6769
public void setChecksumKey(String s, ChecksumStats stat) {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package gov.nara.nwts.ftapp.filter;
2+
3+
/**
4+
* Filter for text files
5+
* @author TBrady
6+
*
7+
*/
8+
public class MrcFilter extends DefaultFileTestFilter {
9+
public String getSuffix() {
10+
return ".mrc";
11+
}
12+
public String getName(){return "MRC";}
13+
14+
}

core/src/main/gov/nara/nwts/ftapp/ftprop/DefaultFTProp.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package gov.nara.nwts.ftapp.ftprop;
22

3+
import java.io.File;
4+
35
import gov.nara.nwts.ftapp.FTDriver;
46

57
/**
@@ -14,7 +16,7 @@ public abstract class DefaultFTProp implements FTProp {
1416
String description;
1517
Object def;
1618
FTDriver ft;
17-
String prefix = "";
19+
String prefix = "";
1820

1921
public enum RUNMODE {
2022
TEST,
@@ -80,4 +82,9 @@ public String getShortNameFormatted() {
8082
return buf.substring(0,20);
8183
}
8284

85+
public InitializationStatus initValidation(File refFile){
86+
InitializationStatus iStat = new InitializationStatus();
87+
return iStat;
88+
}
89+
8390
}

core/src/main/gov/nara/nwts/ftapp/ftprop/FTProp.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package gov.nara.nwts.ftapp.ftprop;
22

3+
import java.io.File;
4+
35
import javax.swing.JComponent;
46

57
/**
@@ -20,4 +22,6 @@ public interface FTProp {
2022
public String getShortNameFormatted();
2123
public String getShortNameNormalized();
2224
public String describeFormatted();
25+
26+
public InitializationStatus initValidation(File refFile);
2327
}

core/src/main/gov/nara/nwts/ftapp/ftprop/FTPropFile.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,4 @@ public Object validate(String s) {
6868
return getValue();
6969
}
7070

71-
7271
}

0 commit comments

Comments
 (0)