package com.constellio.app.services.schemas.bulkImport; import static com.constellio.app.services.schemas.bulkImport.BulkImportParams.ImportErrorsBehavior.CONTINUE; public class BulkImportParams { boolean warningsForInvalidFacultativeMetadatas = false; boolean warningsForRequiredUSRMetadatasWithoutValue = false; ImportErrorsBehavior importErrorsBehavior = ImportErrorsBehavior.STOP_ON_FIRST_ERROR; ImportValidationErrorsBehavior importValidationErrorsBehavior = ImportValidationErrorsBehavior.STOP_IMPORT; int batchSize = 500; int threads = 1; public boolean isWarningsForRequiredUSRMetadatasWithoutValue() { return warningsForRequiredUSRMetadatasWithoutValue; } public BulkImportParams setWarningsForRequiredUSRMetadatasWithoutValue(boolean warningsForRequiredUSRMetadatasWithoutValue) { this.warningsForRequiredUSRMetadatasWithoutValue = warningsForRequiredUSRMetadatasWithoutValue; return this; } public int getThreads() { return threads; } public BulkImportParams setThreads(int threads) { this.threads = threads; return this; } public int getBatchSize() { return batchSize; } public BulkImportParams setBatchSize(int batchSize) { this.batchSize = batchSize; return this; } public boolean isWarningsForInvalidFacultativeMetadatas() { return warningsForInvalidFacultativeMetadatas; } public BulkImportParams setWarningsForInvalidFacultativeMetadatas(boolean warningsForInvalidFacultativeMetadatas) { this.warningsForInvalidFacultativeMetadatas = warningsForInvalidFacultativeMetadatas; return this; } public ImportErrorsBehavior getImportErrorsBehavior() { return importErrorsBehavior; } public BulkImportParams setImportErrorsBehavior(ImportErrorsBehavior importErrorsBehavior) { this.importErrorsBehavior = importErrorsBehavior; return this; } public ImportValidationErrorsBehavior getImportValidationErrorsBehavior() { return importValidationErrorsBehavior; } public BulkImportParams setImportValidationErrorsBehavior(ImportValidationErrorsBehavior importValidationErrorsBehavior) { this.importValidationErrorsBehavior = importValidationErrorsBehavior; return this; } public static enum ImportValidationErrorsBehavior {STOP_IMPORT, EXCLUDE_THOSE_RECORDS} public static enum ImportErrorsBehavior { STOP_ON_FIRST_ERROR, CONTINUE_FOR_RECORD_OF_SAME_TYPE, CONTINUE } public static BulkImportParams PERMISSIVE() { return new BulkImportParams().setWarningsForInvalidFacultativeMetadatas(true).setImportErrorsBehavior(CONTINUE) .setImportValidationErrorsBehavior(ImportValidationErrorsBehavior.EXCLUDE_THOSE_RECORDS) .setWarningsForRequiredUSRMetadatasWithoutValue(true); } public static BulkImportParams STRICT() { return new BulkImportParams(); } }