slub.team team mailing list archive
-
slub.team team
-
Mailing list archive
-
Message #00308
[Merge] lp:~henning-gerhardt/goobi-production/bug-1015105 into lp:goobi-production
Henning Gerhardt has proposed merging lp:~henning-gerhardt/goobi-production/bug-1015105 into lp:goobi-production.
Requested reviews:
Ralf Claussnitzer (ralf-claussnitzer)
Related bugs:
Bug #1015105 in Goobi.Production: "Meta file (mets.xml) got lost"
https://bugs.launchpad.net/goobi-production/+bug/1015105
For more details, see:
https://code.launchpad.net/~henning-gerhardt/goobi-production/bug-1015105/+merge/117281
--
https://code.launchpad.net/~henning-gerhardt/goobi-production/bug-1015105/+merge/117281
Your team Saxon State Library Team is subscribed to branch lp:goobi-production.
=== modified file 'src/de/sub/goobi/beans/Prozess.java'
--- src/de/sub/goobi/beans/Prozess.java 2012-05-30 08:24:19 +0000
+++ src/de/sub/goobi/beans/Prozess.java 2012-07-30 14:57:21 +0000
@@ -754,10 +754,13 @@
public void writeMetadataFile(Fileformat gdzfile) throws IOException, InterruptedException, SwapException, DAOException, WriteException,
PreferencesException {
+
+ boolean backupCondition;
+ boolean writeResult;
+ File temporaryMetadataFile;
Fileformat ff;
String metadataFileName;
String temporaryMetadataFileName;
- boolean writeResult;
switch (MetadataFormat.findFileFormatsHelperByName(projekt.getFileFormatInternal())) {
case METS:
@@ -778,7 +781,11 @@
ff.setDigitalDocument(gdzfile.getDigitalDocument());
writeResult = ff.write(temporaryMetadataFileName);
- if (writeResult) {
+ temporaryMetadataFile = new File(temporaryMetadataFileName);
+
+ backupCondition = writeResult && temporaryMetadataFile.exists() && (temporaryMetadataFile.length() > 0);
+
+ if (backupCondition) {
createBackupFile();
FilesystemHelper.renameFile(temporaryMetadataFileName, metadataFileName);
removePrefixFromRelatedMetsAnchorFileFor(temporaryMetadataFileName);
Follow ups