Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
ea8f25ae
Commit
ea8f25ae
authored
3 months ago
by
Riegel
Browse files
Options
Download
Email Patches
Plain Diff
Refactor!: Rename CityGmlArchive
parent
81dc206d
master
dev
dev_cpp_code_conversion
dev_gui_features_zip_loading
3.17.0
archive/dev_gui_features_zip_loading
2 merge requests
!28
Version 3.17.0 Release
,
!26
Add ZIP-archive support
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java
+2
-2
...ava/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java
+8
-8
...a/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java
+3
-9
...ava/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
+6
-9
...c/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
with
19 additions
and
28 deletions
+19
-28
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java
+
2
-
2
View file @
ea8f25ae
package
de.hft.stuttgart.citydoctor2.utils
;
import
de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel
;
import
de.hft.stuttgart.citydoctor2.zip.CityGmlArchive
;
import
de.hft.stuttgart.citydoctor2.zip.CityGml
Zip
Archive
;
import
de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry
;
import
de.hft.stuttgart.citydoctor2.zip.ErroneousEntry
;
import
org.apache.commons.io.FileUtils
;
...
...
@@ -23,7 +23,7 @@ public class ArchivePacker {
private
ArchivePacker
(){}
public
static
void
packArchive
(
String
targetPath
,
CityGmlArchive
archive
){
public
static
void
packArchive
(
String
targetPath
,
CityGml
Zip
Archive
archive
){
if
(!
targetPath
.
endsWith
(
".zip"
)){
throw
new
IllegalArgumentException
(
"Target zip-filepath must end with '.zip'"
);
}
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlArchive.java
→
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGml
Zip
Archive.java
+
8
-
8
View file @
ea8f25ae
...
...
@@ -16,9 +16,9 @@ import java.util.zip.ZipException;
import
java.util.zip.ZipFile
;
import
java.util.zip.ZipInputStream
;
public
class
CityGmlArchive
implements
Serializable
{
public
class
CityGml
Zip
Archive
implements
Serializable
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
CityGmlArchive
.
class
);
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
CityGml
Zip
Archive
.
class
);
@Serial
private
static
final
long
serialVersionUID
=
2168389511043362615L
;
...
...
@@ -27,7 +27,7 @@ public class CityGmlArchive implements Serializable {
private
final
Path
archivePath
;
private
ZipFile
zipFile
;
public
static
CityGmlArchive
fromZipFile
(
String
zipFile
,
ParserConfiguration
config
)
{
public
static
CityGml
Zip
Archive
fromZipFile
(
String
zipFile
,
ParserConfiguration
config
)
{
ArrayList
<
CityGmlZipEntry
>
archiveEntries
=
new
ArrayList
<>();
ZipFile
zip
=
null
;
try
(
ZipInputStream
zis
=
new
ZipInputStream
(
new
FileInputStream
(
zipFile
)))
{
...
...
@@ -54,12 +54,12 @@ public class CityGmlArchive implements Serializable {
}
}
logger
.
info
(
"Zip-archive successfully uncompressed, {} CityGml files detected"
,
archiveEntries
.
size
());
return
new
CityGmlArchive
(
archiveEntries
,
Path
.
of
(
zipFile
));
return
new
CityGml
Zip
Archive
(
archiveEntries
,
Path
.
of
(
zipFile
));
}
public
static
CityGmlArchive
register
(
String
zipFile
)
{
public
static
CityGml
Zip
Archive
register
(
String
zipFile
)
{
ArrayList
<
CityGmlZipEntry
>
archiveEntries
=
new
ArrayList
<>();
CityGmlArchive
cgmlArchive
=
new
CityGmlArchive
(
Path
.
of
(
zipFile
));
CityGml
Zip
Archive
cgmlArchive
=
new
CityGml
Zip
Archive
(
Path
.
of
(
zipFile
));
try
(
ZipInputStream
zis
=
new
ZipInputStream
(
new
FileInputStream
(
zipFile
)))
{
ZipEntry
ze
;
while
((
ze
=
zis
.
getNextEntry
())
!=
null
)
...
...
@@ -91,11 +91,11 @@ public class CityGmlArchive implements Serializable {
}
}
private
CityGmlArchive
(
Path
archivePath
){
private
CityGml
Zip
Archive
(
Path
archivePath
){
this
.
archivePath
=
archivePath
;
}
private
CityGmlArchive
(
List
<
CityGmlZipEntry
>
entries
,
Path
archivePath
)
{
private
CityGml
Zip
Archive
(
List
<
CityGmlZipEntry
>
entries
,
Path
archivePath
)
{
setEntries
(
entries
);
this
.
archivePath
=
archivePath
;
}
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java
+
3
-
9
View file @
ea8f25ae
...
...
@@ -20,7 +20,7 @@ public class CityGmlZipEntry {
private
final
String
fileName
;
private
CityDoctorModel
model
;
private
CityGmlArchive
parentArchive
;
private
CityGml
Zip
Archive
parentArchive
;
private
boolean
validated
=
false
;
private
boolean
decompressed
=
false
;
private
long
size
=
-
1L
;
...
...
@@ -97,17 +97,11 @@ public class CityGmlZipEntry {
try
{
InputStream
is
=
archive
.
getInputStream
(
entry
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
0
;
}
public
void
setArchive
(
CityGmlArchive
archive
){
public
void
setArchive
(
CityGmlZipArchive
archive
){
parentArchive
=
archive
;
}
public
CityGmlArchive
getArchive
(){
public
CityGml
Zip
Archive
getArchive
(){
return
parentArchive
;
}
...
...
This diff is collapsed.
Click to expand it.
CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
+
6
-
9
View file @
ea8f25ae
...
...
@@ -23,11 +23,11 @@ public class ZipTest {
@Test
public
void
testUnzipping
()
{
CityGmlArchive
cgmlArch
=
CityGmlArchive
.
fromZipFile
(
"src/test/resources/zip/mock_archive.zip"
,
config
);
CityGml
Zip
Archive
cgmlArch
=
CityGml
Zip
Archive
.
fromZipFile
(
"src/test/resources/zip/mock_archive.zip"
,
config
);
checkMockArchive
(
cgmlArch
);
}
private
void
checkMockArchive
(
CityGmlArchive
cgmlArch
){
private
void
checkMockArchive
(
CityGml
Zip
Archive
cgmlArch
){
assertNotNull
(
cgmlArch
);
assertEquals
(
5
,
cgmlArch
.
getEntries
().
size
());
for
(
CityGmlZipEntry
entry
:
cgmlArch
.
getEntries
())
{
...
...
@@ -41,18 +41,15 @@ public class ZipTest {
@Test
public
void
testZipping
()
throws
IOException
{
CityGmlArchive
cgmlArch
=
CityGmlArchive
.
fromZipFile
(
"src/test/resources/zip/mock_archive.zip"
,
config
);
CityGml
Zip
Archive
cgmlArch
=
CityGml
Zip
Archive
.
fromZipFile
(
"src/test/resources/zip/mock_archive.zip"
,
config
);
Path
tmpDir
=
null
;
try
{
tmpDir
=
Files
.
createTempDirectory
(
"testTmp"
);
tmpDir
.
toFile
().
deleteOnExit
();
String
expPath
=
tmpDir
.
toString
()
+
"/export.zip"
;
cgmlArch
.
exportToZipFile
(
expPath
);
CityGmlArchive
cgmlExport
=
CityGmlArchive
.
fromZipFile
(
expPath
,
config
);
CityGml
Zip
Archive
cgmlExport
=
CityGml
Zip
Archive
.
fromZipFile
(
expPath
,
config
);
checkMockArchive
(
cgmlExport
);
}
catch
(
Exception
e
)
{
// Rethrow Exceptions to ensure deletion of tmpDir with finally block
throw
e
;
}
finally
{
if
(
tmpDir
!=
null
)
{
FileUtils
.
deleteDirectory
(
tmpDir
.
toFile
());
...
...
@@ -62,7 +59,7 @@ public class ZipTest {
@Test
public
void
testEpsgParsing
()
{
CityGmlArchive
cgmlArch
=
CityGmlArchive
.
fromZipFile
(
"src/test/resources/zip/epsg.zip"
,
config
);
CityGml
Zip
Archive
cgmlArch
=
CityGml
Zip
Archive
.
fromZipFile
(
"src/test/resources/zip/epsg.zip"
,
config
);
assertNotNull
(
cgmlArch
);
List
<
String
>
epsgs
=
new
ArrayList
<>(
2
);
epsgs
.
add
(
"25832"
);
...
...
@@ -78,7 +75,7 @@ public class ZipTest {
@Test
public
void
testValidation
(){
ParserConfiguration
valConfig
=
new
ParserConfiguration
(
8
,
true
);
CityGmlArchive
cgmlArch
=
CityGmlArchive
.
fromZipFile
(
"src/test/resources/zip/validate.zip"
,
valConfig
);
CityGml
Zip
Archive
cgmlArch
=
CityGml
Zip
Archive
.
fromZipFile
(
"src/test/resources/zip/validate.zip"
,
valConfig
);
int
faultyFiles
=
0
;
for
(
CityGmlZipEntry
entry
:
cgmlArch
.
getEntries
())
{
if
(
entry
instanceof
ErroneousEntry
errEntry
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets