Skip to content

Commit f22f675

Browse files
committed
add more settings to enum to pass validation #11639
- :BagItHandlerEnabled - :BagValidatorJobPoolSize - :BagValidatorJobWaitInterval - :BagValidatorMaxErrors - :CreateDataFilesMaxErrorsToDisplay - :FileCategories - :LDNAnnounceRequiredFields - :LDNTarget These settings were originally added (not to the enum) in the following PRs: - #8478 - #8775 - #8677
1 parent 502b47c commit f22f675

7 files changed

Lines changed: 35 additions & 8 deletions

File tree

doc/release-notes/11639-db-opts-idempotency.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,19 @@ Note: Despite the validation of setting names and languages, the content of any
2525
The following database settings are were added to the official list within the code (to remain valid with the settings cleanup mentioned above):
2626

2727
- :BagGeneratorThreads
28+
- :BagItHandlerEnabled
2829
- :BagItLocalPath
30+
- :BagValidatorJobPoolSize
31+
- :BagValidatorJobWaitInterval
32+
- :BagValidatorMaxErrors
2933
- :BuiltinUsersKey - formerly BuiltinUsers.KEY
34+
- :CreateDataFilesMaxErrorsToDisplay
3035
- :DRSArchiverConfig - a Harvard-specific setting
3136
- :DuraCloudContext
3237
- :DuraCloudHost
3338
- :DuraCloudPort
39+
- :FileCategories
3440
- :GoogleCloudBucket
3541
- :GoogleCloudProject
42+
- :LDNAnnounceRequiredFields
43+
- :LDNTarget

src/main/java/edu/harvard/iq/dataverse/DataFileCategoryServiceBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package edu.harvard.iq.dataverse;
22

33
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
4+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.FileCategories;
45
import edu.harvard.iq.dataverse.util.BundleUtil;
56

67
import jakarta.ejb.EJB;
@@ -21,7 +22,7 @@
2122
@Stateless
2223
public class DataFileCategoryServiceBean {
2324

24-
public static final String FILE_CATEGORIES_KEY = ":FileCategories";
25+
public static final String FILE_CATEGORIES_KEY = FileCategories.toString();
2526

2627
@EJB
2728
private SettingsServiceBean settingsService;

src/main/java/edu/harvard/iq/dataverse/EditDataFilesPageHelper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.harvard.iq.dataverse;
22

3+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.CreateDataFilesMaxErrorsToDisplay;
34
import edu.harvard.iq.dataverse.util.BundleUtil;
45
import edu.harvard.iq.dataverse.util.file.CreateDataFileResult;
56
import org.apache.commons.text.StringEscapeUtils;
@@ -18,7 +19,7 @@
1819
@Stateless
1920
public class EditDataFilesPageHelper {
2021

21-
public static final String MAX_ERRORS_TO_DISPLAY_SETTING = ":CreateDataFilesMaxErrorsToDisplay";
22+
public static final String MAX_ERRORS_TO_DISPLAY_SETTING = CreateDataFilesMaxErrorsToDisplay.toString();
2223
public static final Integer MAX_ERRORS_TO_DISPLAY = 5;
2324

2425
@Inject

src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,13 @@ Whether Harvesting (OAI) service is enabled
499499
* :ArchiverSettings used by multiple archive commands.
500500
*/
501501
BagGeneratorThreads,
502+
/**
503+
* Various BagIt settings.
504+
*/
505+
BagValidatorJobPoolSize,
506+
BagValidatorMaxErrors,
507+
BagValidatorJobWaitInterval,
508+
BagItHandlerEnabled,
502509
/**
503510
* A comma-separated list of roles for which new dataverses should inherit the
504511
* corresponding role assignments from the parent dataverse. Also affects
@@ -675,6 +682,8 @@ Whether Harvesting (OAI) service is enabled
675682
* LDN Inbox Allowed Hosts - a comma separated list of IP addresses allowed to submit messages to the inbox
676683
*/
677684
LDNMessageHosts,
685+
LDNAnnounceRequiredFields,
686+
LDNTarget,
678687

679688
/*
680689
* Allow a custom JavaScript to control values of specific fields.
@@ -731,6 +740,8 @@ Whether Harvesting (OAI) service is enabled
731740
* files *with* the variable names line up top.
732741
*/
733742
StoreIngestedTabularFilesWithVarHeaders,
743+
FileCategories,
744+
CreateDataFilesMaxErrorsToDisplay,
734745

735746
ContactFeedbackMessageSizeLimit,
736747
//Experimental setting to allow connecting to a GET external search service expecting a GET request with query parameter mirroring the search API query parameters (without search_service)

src/main/java/edu/harvard/iq/dataverse/util/bagit/BagValidator.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package edu.harvard.iq.dataverse.util.bagit;
22

3+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.BagValidatorJobPoolSize;
4+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.BagValidatorJobWaitInterval;
5+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.BagValidatorMaxErrors;
36
import edu.harvard.iq.dataverse.util.BundleUtil;
47
import edu.harvard.iq.dataverse.util.bagit.BagValidation.FileValidationResult;
58
import edu.harvard.iq.dataverse.util.bagit.ManifestReader.ManifestChecksum;
@@ -27,9 +30,9 @@ public class BagValidator {
2730
private static final Logger logger = Logger.getLogger(BagValidator.class.getCanonicalName());
2831

2932
public static enum BagValidatorSettings {
30-
JOB_POOL_SIZE(":BagValidatorJobPoolSize", 4),
31-
MAX_ERRORS(":BagValidatorMaxErrors", 5),
32-
JOB_WAIT_INTERVAL(":BagValidatorJobWaitInterval", 10);
33+
JOB_POOL_SIZE(BagValidatorJobPoolSize.toString(), 4),
34+
MAX_ERRORS(BagValidatorMaxErrors.toString(), 5),
35+
JOB_WAIT_INTERVAL(BagValidatorJobWaitInterval.toString(), 10);
3336

3437
private String settingsKey;
3538
private Integer defaultValue;

src/main/java/edu/harvard/iq/dataverse/util/file/BagItFileHandlerFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package edu.harvard.iq.dataverse.util.file;
22

33
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
4+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.BagItHandlerEnabled;
45
import edu.harvard.iq.dataverse.util.bagit.BagValidator;
56
import edu.harvard.iq.dataverse.util.bagit.BagValidator.BagValidatorSettings;
67
import edu.harvard.iq.dataverse.util.bagit.ManifestReader;
@@ -25,7 +26,7 @@ public class BagItFileHandlerFactory implements Serializable {
2526

2627
private static final Logger logger = Logger.getLogger(BagItFileHandlerFactory.class.getCanonicalName());
2728

28-
public static final String BAGIT_HANDLER_ENABLED_SETTING = ":BagItHandlerEnabled";
29+
public static final String BAGIT_HANDLER_ENABLED_SETTING = BagItHandlerEnabled.toString();
2930

3031
@EJB
3132
private SettingsServiceBean settingsService;

src/main/java/edu/harvard/iq/dataverse/workflow/internalspi/LDNAnnounceDatasetVersionStep.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import edu.harvard.iq.dataverse.DatasetFieldType;
66
import edu.harvard.iq.dataverse.DatasetVersion;
77
import edu.harvard.iq.dataverse.branding.BrandingUtil;
8+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.LDNAnnounceRequiredFields;
9+
import static edu.harvard.iq.dataverse.settings.SettingsServiceBean.Key.LDNTarget;
810
import edu.harvard.iq.dataverse.util.SystemConfig;
911
import edu.harvard.iq.dataverse.util.bagit.OREMap;
1012
import edu.harvard.iq.dataverse.util.json.JsonLDTerm;
@@ -52,8 +54,8 @@
5254

5355
public class LDNAnnounceDatasetVersionStep implements WorkflowStep {
5456
private static final Logger logger = Logger.getLogger(LDNAnnounceDatasetVersionStep.class.getName());
55-
private static final String REQUIRED_FIELDS = ":LDNAnnounceRequiredFields";
56-
private static final String LDN_TARGET = ":LDNTarget";
57+
private static final String REQUIRED_FIELDS = LDNAnnounceRequiredFields.toString();
58+
private static final String LDN_TARGET = LDNTarget.toString();
5759
private static final String RELATED_PUBLICATION = "publication";
5860

5961
JsonLDTerm publicationIDType = null;

0 commit comments

Comments
 (0)