diff --git a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java index 6277c9eb2f..3c65f0743d 100644 --- a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java +++ b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java @@ -503,6 +503,11 @@ public class HarvesterSettings { */ public static String METADATA_ARCHIVE_FILES_REPORT_HEADER = "settings.harvester.harvesting.metadata.archiveFilesReport.fileHeader"; + /** + * The version number which goes in metadata file names like 12345-metadata-<version number>.warc.gz + */ + public static String METADATA_FILE_VERSION_NUMBER = "settings.harvester.harvesting.metadata.filename.versionnumber"; + /** * settings.harvester.aliases.timeout The amount of time in seconds before an alias times out, and needs to * be re-evaluated. The default value is one year, i.e 31536000 seconds. diff --git a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java index 8dcdb0abc6..aaf016eed3 100644 --- a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java +++ b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java @@ -121,18 +121,19 @@ public static String getMetadataArchiveFileName(String jobID, Long harvestID) th if (compressionOn) { possibleGzSuffix = ".gz"; } + int versionNumber = Settings.getInt(HarvesterSettings.METADATA_FILE_VERSION_NUMBER); switch (metadataFormat) { case MDF_ARC: if(isPrefix) { - return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + 1 + ".arc" + possibleGzSuffix; + return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + versionNumber + ".arc" + possibleGzSuffix; } else { - return jobID + "-metadata-" + 1 + ".arc" + possibleGzSuffix; + return jobID + "-metadata-" + versionNumber + ".arc" + possibleGzSuffix; } case MDF_WARC: if(isPrefix) { - return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + 1 + ".warc" + possibleGzSuffix; + return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + versionNumber + ".warc" + possibleGzSuffix; } else { - return jobID + "-metadata-" + 1 + ".warc" + possibleGzSuffix; + return jobID + "-metadata-" + versionNumber + ".warc" + possibleGzSuffix; } default: throw new ArgumentNotValid("Configuration of '" + HarvesterSettings.METADATA_FORMAT + "' is invalid!"); diff --git a/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml b/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml index 2dffef0d3f..852d3bf12f 100644 --- a/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml +++ b/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml @@ -202,6 +202,9 @@ National Library. warc false default + + 1 +