Commit ea8f25ae authored by Riegel's avatar Riegel
Browse files

Refactor!: Rename CityGmlArchive

Showing with 19 additions and 28 deletions
+19 -28
package de.hft.stuttgart.citydoctor2.utils; package de.hft.stuttgart.citydoctor2.utils;
import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel;
import de.hft.stuttgart.citydoctor2.zip.CityGmlArchive; import de.hft.stuttgart.citydoctor2.zip.CityGmlZipArchive;
import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry; import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry;
import de.hft.stuttgart.citydoctor2.zip.ErroneousEntry; import de.hft.stuttgart.citydoctor2.zip.ErroneousEntry;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
...@@ -23,7 +23,7 @@ public class ArchivePacker { ...@@ -23,7 +23,7 @@ public class ArchivePacker {
private ArchivePacker(){} private ArchivePacker(){}
public static void packArchive(String targetPath, CityGmlArchive archive){ public static void packArchive(String targetPath, CityGmlZipArchive archive){
if (!targetPath.endsWith(".zip")){ if (!targetPath.endsWith(".zip")){
throw new IllegalArgumentException("Target zip-filepath must end with '.zip'"); throw new IllegalArgumentException("Target zip-filepath must end with '.zip'");
} }
......
...@@ -16,9 +16,9 @@ import java.util.zip.ZipException; ...@@ -16,9 +16,9 @@ import java.util.zip.ZipException;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream; import java.util.zip.ZipInputStream;
public class CityGmlArchive implements Serializable { public class CityGmlZipArchive implements Serializable {
private static final Logger logger = LogManager.getLogger(CityGmlArchive.class); private static final Logger logger = LogManager.getLogger(CityGmlZipArchive.class);
@Serial @Serial
private static final long serialVersionUID = 2168389511043362615L; private static final long serialVersionUID = 2168389511043362615L;
...@@ -27,7 +27,7 @@ public class CityGmlArchive implements Serializable { ...@@ -27,7 +27,7 @@ public class CityGmlArchive implements Serializable {
private final Path archivePath; private final Path archivePath;
private ZipFile zipFile; private ZipFile zipFile;
public static CityGmlArchive fromZipFile(String zipFile, ParserConfiguration config) { public static CityGmlZipArchive fromZipFile(String zipFile, ParserConfiguration config) {
ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>(); ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>();
ZipFile zip = null; ZipFile zip = null;
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) {
...@@ -54,12 +54,12 @@ public class CityGmlArchive implements Serializable { ...@@ -54,12 +54,12 @@ public class CityGmlArchive implements Serializable {
} }
} }
logger.info("Zip-archive successfully uncompressed, {} CityGml files detected", archiveEntries.size()); logger.info("Zip-archive successfully uncompressed, {} CityGml files detected", archiveEntries.size());
return new CityGmlArchive(archiveEntries, Path.of(zipFile)); return new CityGmlZipArchive(archiveEntries, Path.of(zipFile));
} }
public static CityGmlArchive register(String zipFile) { public static CityGmlZipArchive register(String zipFile) {
ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>(); ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>();
CityGmlArchive cgmlArchive = new CityGmlArchive(Path.of(zipFile)); CityGmlZipArchive cgmlArchive = new CityGmlZipArchive(Path.of(zipFile));
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) {
ZipEntry ze; ZipEntry ze;
while ((ze = zis.getNextEntry()) != null ) while ((ze = zis.getNextEntry()) != null )
...@@ -91,11 +91,11 @@ public class CityGmlArchive implements Serializable { ...@@ -91,11 +91,11 @@ public class CityGmlArchive implements Serializable {
} }
} }
private CityGmlArchive(Path archivePath){ private CityGmlZipArchive(Path archivePath){
this.archivePath = archivePath; this.archivePath = archivePath;
} }
private CityGmlArchive(List<CityGmlZipEntry> entries, Path archivePath) { private CityGmlZipArchive(List<CityGmlZipEntry> entries, Path archivePath) {
setEntries(entries); setEntries(entries);
this.archivePath = archivePath; this.archivePath = archivePath;
} }
......
...@@ -20,7 +20,7 @@ public class CityGmlZipEntry { ...@@ -20,7 +20,7 @@ public class CityGmlZipEntry {
private final String fileName; private final String fileName;
private CityDoctorModel model; private CityDoctorModel model;
private CityGmlArchive parentArchive; private CityGmlZipArchive parentArchive;
private boolean validated = false; private boolean validated = false;
private boolean decompressed = false; private boolean decompressed = false;
private long size = -1L; private long size = -1L;
...@@ -97,17 +97,11 @@ public class CityGmlZipEntry { ...@@ -97,17 +97,11 @@ public class CityGmlZipEntry {
try { try {
InputStream is = archive.getInputStream(entry); InputStream is = archive.getInputStream(entry);
} catch (IOException e) { public void setArchive(CityGmlZipArchive archive){
throw new RuntimeException(e);
}
return 0;
}
public void setArchive(CityGmlArchive archive){
parentArchive = archive; parentArchive = archive;
} }
public CityGmlArchive getArchive(){ public CityGmlZipArchive getArchive(){
return parentArchive; return parentArchive;
} }
......
...@@ -23,11 +23,11 @@ public class ZipTest { ...@@ -23,11 +23,11 @@ public class ZipTest {
@Test @Test
public void testUnzipping() { public void testUnzipping() {
CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config); CityGmlZipArchive cgmlArch = CityGmlZipArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config);
checkMockArchive(cgmlArch); checkMockArchive(cgmlArch);
} }
private void checkMockArchive(CityGmlArchive cgmlArch){ private void checkMockArchive(CityGmlZipArchive cgmlArch){
assertNotNull(cgmlArch); assertNotNull(cgmlArch);
assertEquals(5,cgmlArch.getEntries().size()); assertEquals(5,cgmlArch.getEntries().size());
for (CityGmlZipEntry entry : cgmlArch.getEntries()) { for (CityGmlZipEntry entry : cgmlArch.getEntries()) {
...@@ -41,18 +41,15 @@ public class ZipTest { ...@@ -41,18 +41,15 @@ public class ZipTest {
@Test @Test
public void testZipping() throws IOException { public void testZipping() throws IOException {
CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config); CityGmlZipArchive cgmlArch = CityGmlZipArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config);
Path tmpDir = null; Path tmpDir = null;
try { try {
tmpDir = Files.createTempDirectory("testTmp"); tmpDir = Files.createTempDirectory("testTmp");
tmpDir.toFile().deleteOnExit(); tmpDir.toFile().deleteOnExit();
String expPath = tmpDir.toString() + "/export.zip"; String expPath = tmpDir.toString() + "/export.zip";
cgmlArch.exportToZipFile(expPath); cgmlArch.exportToZipFile(expPath);
CityGmlArchive cgmlExport = CityGmlArchive.fromZipFile(expPath, config); CityGmlZipArchive cgmlExport = CityGmlZipArchive.fromZipFile(expPath, config);
checkMockArchive(cgmlExport); checkMockArchive(cgmlExport);
} catch (Exception e) {
// Rethrow Exceptions to ensure deletion of tmpDir with finally block
throw e;
} finally { } finally {
if (tmpDir != null) { if (tmpDir != null) {
FileUtils.deleteDirectory(tmpDir.toFile()); FileUtils.deleteDirectory(tmpDir.toFile());
...@@ -62,7 +59,7 @@ public class ZipTest { ...@@ -62,7 +59,7 @@ public class ZipTest {
@Test @Test
public void testEpsgParsing() { public void testEpsgParsing() {
CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/epsg.zip", config); CityGmlZipArchive cgmlArch = CityGmlZipArchive.fromZipFile("src/test/resources/zip/epsg.zip", config);
assertNotNull(cgmlArch); assertNotNull(cgmlArch);
List<String> epsgs = new ArrayList<>(2); List<String> epsgs = new ArrayList<>(2);
epsgs.add("25832"); epsgs.add("25832");
...@@ -78,7 +75,7 @@ public class ZipTest { ...@@ -78,7 +75,7 @@ public class ZipTest {
@Test @Test
public void testValidation(){ public void testValidation(){
ParserConfiguration valConfig = new ParserConfiguration(8,true); ParserConfiguration valConfig = new ParserConfiguration(8,true);
CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/validate.zip", valConfig); CityGmlZipArchive cgmlArch = CityGmlZipArchive.fromZipFile("src/test/resources/zip/validate.zip", valConfig);
int faultyFiles = 0; int faultyFiles = 0;
for (CityGmlZipEntry entry : cgmlArch.getEntries()) { for (CityGmlZipEntry entry : cgmlArch.getEntries()) {
if (entry instanceof ErroneousEntry errEntry) { if (entry instanceof ErroneousEntry errEntry) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment