Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0000286MagellanExportöffentlich2008-08-28 22:52
ReporterFiete Bearbeitung durchtrickert  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarimmer
Status erledigtLösungerledigt 
RechnertypPCBetriebssystemWin XP SP2BS-VersionBeta
Zusammenfassung0000286: Console Merger speichert kein zip
BeschreibungGebe ich als Parameter 4 einen Dateinamen mit Endung .zip oder .ZIP an, gibt es einen Fehler und der Export scheitert.
Zusätzliche Informationen(II) 23.08.2008 21:21:56.386: start GameData postProcess
(II) 23.08.2008 21:21:56.440: finished GameData postProcess
Save Report to /home/monopol/eressea/report/test/583-result.ZIP
java.util.zip.ZipException: No such file or directory
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:203)
        at java.util.zip.ZipFile.<init>(ZipFile.java:234)
        at magellan.library.io.file.FileTypeFactory.createZipFileType(FileTypeFactory.java:116)
        at magellan.library.io.file.FileTypeFactory.doCreateFileType(FileTypeFactory.java:101)
        at magellan.library.io.file.FileTypeFactory.createFileType(FileTypeFactory.java:80)
        at magellan.library.io.file.FileTypeFactory.createFileType(FileTypeFactory.java:63)
        at magellan.ext.console.merge.ConsoleMerger.run(ConsoleMerger.java:80)
        at magellan.ext.console.merge.ConsoleMerger.main(ConsoleMerger.java:128)
monopol@dasmonopol:~/eressea/scripts/Magellan2$
TagsKeine Tags zugeordnet.
ProjectConsoleMerger

Notizen / Dateien

trickert

2008-08-25 08:40

Manager   ~0000686

Hmmm...das ist witzigerweise kein ConsoleMerger Problem. Es besteht auch in der Anwendung. Versucht man, einen Report als ZIP zu speichern, ohne dass es die Datei gibt, gibt es die Exception. Grund: Beim Speichern wird versucht, wie java.util.zip.ZipFile die Datei zu analysieren. Da es die Datei nicht gibt, gibt es nichts zu analysieren - ergo - Exception. Das kann noch nie funktioniert haben.

Letztlich muss das FileTypeFactory.createZipFileType() umgeschrieben werden. Beim Laden ist das Verhalten richtig, beim Speichern, muss das anders aussehen (ZipOutputstreams..)

trickert

2008-08-26 08:02

Manager   ~0000690

So, ist auch erledigt. Ich hab das jetzt in ZipFileType reinoperiert und ein zusätzliches if-Konstrukt eingebaut. Wenn es die Zipdatei nicht gibt, die Datei aber schreibbar sein soll (!readonly), dann wird die Datei erstellt und nicht darüber nachgedacht, wie man an die ZipEntries rankommt. (Lesen deaktiviert).

Damit ging es dann problemlos. Ob das irgendwo anders Probleme macht...who knows... aber wenn das readonly Flag richtig gesetzt ist, ist alles gut.

trickert

2008-08-26 08:06

Manager   ~0000691

grundsätzlich würde ich aber "recommenden", dass man eher BZIP benutzt. Das scheint mir ausgereifter im Magellan Code.

stm

2008-08-28 22:36

Administrator   ~0000700

Speichern als zip ist im Client (schon lange) deaktiviert.

trickert

2008-08-28 22:52

Manager   ~0000701

nein, es kann zwar im Drop-Down des Speichern Dialogs nicht ausgewählt werden, aber wenn der angegebene Dateiname mit .zip endet, wird der ZIP-Safe-Algorithmus verwendet. Grund: der Dialog liefert ja nur ein File-Objekt zurück und anhand dessen wird geprüft, welche Endung verwendet werden soll.

Prüf- und reproduzierbar mit jeder aktuellen Mag2 Version...

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2008-08-23 21:28 Fiete Neuer Eintrag
2008-08-23 21:28 Fiete Status neu => zugewiesen
2008-08-23 21:28 Fiete Bearbeitung durch => trickert
2008-08-25 08:40 trickert Status zugewiesen => bestätigt
2008-08-26 08:02 trickert Status bestätigt => erledigt
2008-08-26 08:02 trickert Lösung offen => erledigt