← Back to team overview

slub.team team mailing list archive

[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