Skip to content

Commit 79cc727

Browse files
committed
renamed Verifier to BagVerifier and added more examples to README
1 parent 0244f22 commit 79cc727

5 files changed

Lines changed: 46 additions & 27 deletions

File tree

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ We no longer support a command line interface for the java version of bagit. If
2828
Simply run `gradle eclipse` and it will automatically create a eclipse project for you that you can import.
2929

3030
### Examples
31-
The "new" bagit interface is very intuitive, but here are some easy to follow examples
31+
The "new" bagit interface is very intuitive, but here are some easy to follow examples. Instead of returning messages like in the old interface, now it throws errors so you don't have to parse messages to understand what happened.
3232

3333
##### Create a bag from a folder using version 0.97
3434
```java
@@ -47,8 +47,27 @@ Bag bag = BagReader.read(rootDir);
4747
File outputDir = new File("WhereYouWantToWriteTheBagTo");
4848
BagWriter.write(bag, outputDir); //where bag is a Bag object
4949
```
50+
##### Verify Complete
51+
```java
52+
boolean ignoreHiddenFiles = true;
53+
BagVerifier.isComplete(bag, ignoreHiddenFiles);
54+
```
55+
##### Verify Valid
56+
```java
57+
boolean ignoreHiddenFiles = true;
58+
BagVerifier.isValid(bag, ignoreHiddenFiles);
59+
```
60+
##### Quickly verify by payload-oxum
61+
```java
62+
boolean ignoreHiddenFiles = true;
63+
64+
if(BagVerifier.canQuickVerify(bag)){
65+
BagVerifier.quicklyVerify(bag, ignoreHiddenFiles);
66+
}
67+
```
5068

5169
### Roadmap
5270
* Further refine reading and writing of bags version 0.93-0.97
5371
* Integrate new proposed specification we are calling "dot bagit"
5472
* Fix bugs/issues reported with new library (on going)
73+
* Add extensions for more than standard supported algorithms

src/main/java/gov/loc/repository/bagit/creator/BagCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
import gov.loc.repository.bagit.domain.Manifest;
1616
import gov.loc.repository.bagit.domain.SupportedAlgorithm;
1717
import gov.loc.repository.bagit.domain.Version;
18-
import gov.loc.repository.bagit.verify.Verifier;
18+
import gov.loc.repository.bagit.verify.BagVerifier;
1919
import gov.loc.repository.bagit.writer.BagWriter;
2020

2121
/**
2222
* Responsible for creating a bag in place.
2323
*/
2424
public class BagCreator {
25-
private static final Logger logger = LoggerFactory.getLogger(Verifier.class);
25+
private static final Logger logger = LoggerFactory.getLogger(BagVerifier.class);
2626

2727
/**
2828
* Creates a basic(only required elements) bag in place for version 0.97.

src/main/java/gov/loc/repository/bagit/verify/Verifier.java renamed to src/main/java/gov/loc/repository/bagit/verify/BagVerifier.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
/**
3939
* Responsible for verifying if a bag is valid, complete
4040
*/
41-
public class Verifier {
42-
private static final Logger logger = LoggerFactory.getLogger(Verifier.class);
41+
public class BagVerifier {
42+
private static final Logger logger = LoggerFactory.getLogger(BagVerifier.class);
4343

4444
private static final String PAYLOAD_DIR_NAME = "data";
4545
private static final String DOT_BAGIT_DIR_NAME = ".bagit";
@@ -64,7 +64,7 @@ public static boolean canQuickVerify(Bag bag){
6464
* @throws InvalidPayloadOxumException if either the total bytes or the number of files
6565
* calculated for the payload directory of the bag is different than the supplied values
6666
* @throws PayloadOxumDoesNotExistException if the bag does not contain a payload-oxum.
67-
* To check, run {@link Verifier#canQuickVerify}
67+
* To check, run {@link BagVerifier#canQuickVerify}
6868
*/
6969
public static void quicklyVerify(Bag bag, boolean ignoreHiddenFiles) throws IOException, InvalidPayloadOxumException{
7070
String payloadOxum = bag.getMetadata().get("Payload-Oxum");

src/main/java/gov/loc/repository/bagit/writer/BagWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
import gov.loc.repository.bagit.domain.FetchItem;
2222
import gov.loc.repository.bagit.domain.Manifest;
2323
import gov.loc.repository.bagit.domain.Version;
24-
import gov.loc.repository.bagit.verify.Verifier;
24+
import gov.loc.repository.bagit.verify.BagVerifier;
2525

2626
/**
2727
* responsible for writing out a bag.
2828
*/
2929
public class BagWriter {
30-
private static final Logger logger = LoggerFactory.getLogger(Verifier.class);
30+
private static final Logger logger = LoggerFactory.getLogger(BagVerifier.class);
3131

3232
/**
3333
* Write the bag out to the specified directory.

src/test/java/gov/loc/repository/bagit/verify/VerifierTest.java renamed to src/test/java/gov/loc/repository/bagit/verify/BagVerifierTest.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import gov.loc.repository.bagit.exceptions.MissingPayloadManifestException;
2929
import gov.loc.repository.bagit.reader.BagReader;
3030

31-
public class VerifierTest extends Assert{
31+
public class BagVerifierTest extends Assert{
3232
@Rule
3333
public TemporaryFolder folder= new TemporaryFolder();
3434

@@ -37,12 +37,12 @@ public class VerifierTest extends Assert{
3737
@Test
3838
public void testCanQuickVerify() throws Exception{
3939
Bag bag = BagReader.read(rootDir);
40-
boolean canQuickVerify = Verifier.canQuickVerify(bag);
40+
boolean canQuickVerify = BagVerifier.canQuickVerify(bag);
4141
assertFalse("Since " + bag.getRootDir() + " DOES NOT contain the metadata Payload-Oxum then it should return false!", canQuickVerify);
4242

4343
File passingRootDir = new File(getClass().getClassLoader().getResource("bags/v0_94/bag").getFile());
4444
bag = BagReader.read(passingRootDir);
45-
canQuickVerify = Verifier.canQuickVerify(bag);
45+
canQuickVerify = BagVerifier.canQuickVerify(bag);
4646
assertTrue("Since " + bag.getRootDir() + " DOES contain the metadata Payload-Oxum then it should return true!", canQuickVerify);
4747
}
4848

@@ -51,23 +51,23 @@ public void testQuickVerify() throws Exception{
5151
File passingRootDir = new File(getClass().getClassLoader().getResource("bags/v0_94/bag").getFile());
5252
Bag bag = BagReader.read(passingRootDir);
5353

54-
Verifier.quicklyVerify(bag, true);
54+
BagVerifier.quicklyVerify(bag, true);
5555
}
5656

5757
@Test(expected=InvalidPayloadOxumException.class)
5858
public void testInvalidByteSizeForQuickVerify() throws Exception{
5959
File badRootDir = new File(getClass().getClassLoader().getResource("badPayloadOxumByteSize/bag").getFile());
6060
Bag bag = BagReader.read(badRootDir);
6161

62-
Verifier.quicklyVerify(bag, true);
62+
BagVerifier.quicklyVerify(bag, true);
6363
}
6464

6565
@Test(expected=InvalidPayloadOxumException.class)
6666
public void testInvalidFileCountForQuickVerify() throws Exception{
6767
File badRootDir = new File(getClass().getClassLoader().getResource("badPayloadOxumFileCount/bag").getFile());
6868
Bag bag = BagReader.read(badRootDir);
6969

70-
Verifier.quicklyVerify(bag, true);
70+
BagVerifier.quicklyVerify(bag, true);
7171
}
7272

7373
@Test
@@ -76,7 +76,7 @@ public void testStandardSupportedAlgorithms() throws Exception{
7676
for(String alg : algorithms){
7777
StandardSupportedAlgorithms algorithm = StandardSupportedAlgorithms.valueOf(alg.toUpperCase());
7878
Manifest manifest = new Manifest(algorithm);
79-
Verifier.checkHashes(manifest);
79+
BagVerifier.checkHashes(manifest);
8080
}
8181
}
8282

@@ -85,69 +85,69 @@ public void testBagWithTagFilesInPayloadIsValid() throws Exception{
8585
rootDir = new File(getClass().getClassLoader().getResource("bags/v0_96/bag-with-tagfiles-in-payload-manifest").getFile());
8686
Bag bag = BagReader.read(rootDir);
8787

88-
Verifier.isValid(bag, true);
88+
BagVerifier.isValid(bag, true);
8989
}
9090

9191
@Test
9292
public void testVersion0_97IsValid() throws Exception{
9393
Bag bag = BagReader.read(rootDir);
9494

95-
Verifier.isValid(bag, true);
95+
BagVerifier.isValid(bag, true);
9696
}
9797

9898
@Test
9999
public void testVersion0_98IsValid() throws Exception{
100100
rootDir = new File(getClass().getClassLoader().getResource("bags/v0_98/bag").getFile());
101101
Bag bag = BagReader.read(rootDir);
102102

103-
Verifier.isValid(bag, true);
103+
BagVerifier.isValid(bag, true);
104104
}
105105

106106
@Test
107107
public void testIsComplete() throws Exception{
108108
Bag bag = BagReader.read(rootDir);
109109

110-
Verifier.isComplete(bag, true);
110+
BagVerifier.isComplete(bag, true);
111111
}
112112

113113
@Test(expected=FileNotInPayloadDirectoryException.class)
114114
public void testErrorWhenFetchItemsDontExist() throws Exception{
115115
rootDir = new File(getClass().getClassLoader().getResource("bags/v0_96/holey-bag").getFile());
116116
Bag bag = BagReader.read(rootDir);
117117

118-
Verifier.isComplete(bag, true);
118+
BagVerifier.isComplete(bag, true);
119119
}
120120

121121
@Test(expected=FileNotInPayloadDirectoryException.class)
122122
public void testErrorWhenManifestListFileThatDoesntExist() throws Exception{
123123
rootDir = new File(getClass().getClassLoader().getResource("filesInManifestDontExist").getFile());
124124
Bag bag = BagReader.read(rootDir);
125125

126-
Verifier.isComplete(bag, true);
126+
BagVerifier.isComplete(bag, true);
127127
}
128128

129129
@Test(expected=FileNotInManifestException.class)
130130
public void testErrorWhenFileIsntInManifest() throws Exception{
131131
rootDir = new File(getClass().getClassLoader().getResource("filesInPayloadDirAreNotInManifest").getFile());
132132
Bag bag = BagReader.read(rootDir);
133133

134-
Verifier.isComplete(bag, true);
134+
BagVerifier.isComplete(bag, true);
135135
}
136136

137137
@Test(expected=CorruptChecksumException.class)
138138
public void testCorruptPayloadFile() throws Exception{
139139
rootDir = new File(getClass().getClassLoader().getResource("corruptPayloadFile").getFile());
140140
Bag bag = BagReader.read(rootDir);
141141

142-
Verifier.isValid(bag, true);
142+
BagVerifier.isValid(bag, true);
143143
}
144144

145145
@Test(expected=CorruptChecksumException.class)
146146
public void testCorruptTagFile() throws Exception{
147147
rootDir = new File(getClass().getClassLoader().getResource("corruptTagFile").getFile());
148148
Bag bag = BagReader.read(rootDir);
149149

150-
Verifier.isValid(bag, true);
150+
BagVerifier.isValid(bag, true);
151151
}
152152

153153
@Test(expected=MissingBagitFileException.class)
@@ -157,7 +157,7 @@ public void testErrorWhenMissingBagitTextFile() throws Exception{
157157
File bagitFile = new File(folder.getRoot(), "bagit.txt");
158158
bagitFile.delete();
159159

160-
Verifier.isValid(bag, true);
160+
BagVerifier.isValid(bag, true);
161161
}
162162

163163
@Test(expected=MissingPayloadDirectoryException.class)
@@ -167,7 +167,7 @@ public void testErrorWhenMissingPayloadDirectory() throws Exception{
167167
File dataDir = new File(folder.getRoot(), "data");
168168
deleteDirectory(Paths.get(dataDir.toURI()));
169169

170-
Verifier.isValid(bag, true);
170+
BagVerifier.isValid(bag, true);
171171
}
172172

173173
@Test(expected=MissingPayloadManifestException.class)
@@ -177,7 +177,7 @@ public void testErrorWhenMissingPayloadManifest() throws Exception{
177177
File manifestFile = new File(folder.getRoot(), "manifest-md5.txt");
178178
manifestFile.delete();
179179

180-
Verifier.isValid(bag, true);
180+
BagVerifier.isValid(bag, true);
181181
}
182182

183183
private void copyBagToTestFolder() throws Exception{

0 commit comments

Comments
 (0)