Skip to content

Commit

Permalink
issue #101: processing gzipped files.
Browse files Browse the repository at this point in the history
  • Loading branch information
pkiraly committed Nov 12, 2021
1 parent 66ae252 commit e5b291d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@
import org.marc4j.MarcReader;
import org.marc4j.marc.Record;

import java.io.FileInputStream;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.DecimalFormat;
import java.time.LocalTime;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.GZIPInputStream;

/**
* usage:
Expand Down Expand Up @@ -169,7 +171,11 @@ private void processContent(MarcReader reader, String fileName) {
}

private MarcReader getMarcFileReader(CommonParameters parameters, Path path) throws Exception {
return ReadMarc.getFileReader(parameters.getMarcFormat(), path.toString());
if (path.toString().endsWith(".gz")) {
return ReadMarc.getStreamReader(parameters.getMarcFormat(), new GZIPInputStream(new FileInputStream(path.toFile())));
} else {
return ReadMarc.getFileReader(parameters.getMarcFormat(), path.toString());
}
}

private MarcReader getMarcStreamReader(CommonParameters parameters) throws Exception {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package de.gwdg.metadataqa.marc.definition.tags.holdings;

import de.gwdg.metadataqa.marc.MarcSubfield;
import de.gwdg.metadataqa.marc.Utils;
import de.gwdg.metadataqa.marc.dao.DataField;
import de.gwdg.metadataqa.marc.definition.MarcVersion;
import de.gwdg.metadataqa.marc.definition.TagDefinitionLoader;
import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.structure.SubfieldDefinition;
import junit.framework.TestCase;
import org.junit.Test;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class Tag841Test extends TestCase {
import static org.junit.Assert.assertEquals;

public class Tag841Test {

@Test
public void test1() {
Expand All @@ -30,4 +34,10 @@ public void test1() {
assertEquals(expected, extra);
}

@Test
public void checkDefinition() {
DataFieldDefinition definition = TagDefinitionLoader.load("841");
assertEquals(MarcVersion.MARC21, definition.getMarcVersion());
assertEquals("holdings", Utils.extractPackageName(definition));
}
}

0 comments on commit e5b291d

Please sign in to comment.