diff --git a/fairchive-webapp/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AbstractDatasetCommand.java b/fairchive-webapp/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AbstractDatasetCommand.java index 68f7f6295c..d30576cc73 100644 --- a/fairchive-webapp/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AbstractDatasetCommand.java +++ b/fairchive-webapp/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AbstractDatasetCommand.java @@ -1,18 +1,5 @@ package edu.harvard.iq.dataverse.engine.command.impl; -import static java.util.stream.Collectors.joining; - -import java.sql.Timestamp; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.validation.ConstraintViolation; - import edu.harvard.iq.dataverse.common.BundleUtil; import edu.harvard.iq.dataverse.engine.command.AbstractCommand; import edu.harvard.iq.dataverse.engine.command.CommandContext; @@ -24,7 +11,6 @@ import edu.harvard.iq.dataverse.globalid.FakePidProviderServiceBean; import edu.harvard.iq.dataverse.globalid.GlobalIdServiceBean; import edu.harvard.iq.dataverse.persistence.datafile.FileMetadata; -import edu.harvard.iq.dataverse.persistence.dataset.ControlledVocabularyValue; import edu.harvard.iq.dataverse.persistence.dataset.Dataset; import edu.harvard.iq.dataverse.persistence.dataset.DatasetField; import edu.harvard.iq.dataverse.persistence.dataset.DatasetFieldUtil; @@ -36,6 +22,17 @@ import edu.harvard.iq.dataverse.validation.field.FieldValidationResult; import io.vavr.control.Try; +import javax.validation.ConstraintViolation; +import java.sql.Timestamp; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; + +import static java.util.stream.Collectors.joining; + /** * Base class for commands that deal with {@code Dataset}s.Mainly here as a code * re-use mechanism. @@ -145,13 +142,10 @@ protected void validateOrDie(DatasetVersion dsv, Boolean lenient, CommandContext */ protected void tidyUpFields(DatasetVersion dsv) { removeBlankDatasetFields(dsv.getDatasetFields()); - - removeControlledVocabularyDuplicates(dsv.getDatasetFields()); updateDisplayOrder(dsv.getDatasetFields()); dsv.getDatasetFields().forEach(field -> field.trimTrailingSpaces()); - } /** @@ -280,16 +274,4 @@ private void handlePidReservation(Dataset theDataset, GlobalIdServiceBean global theDataset.setIdentifierRegistered(true); } } - - /* In theory this function shouldn't be needed but */ - private void removeControlledVocabularyDuplicates(final List fields) { - - final HashSet alreadySeen = new HashSet<>(); - for(final DatasetField field : fields) { - field.getControlledVocabularyValues(). - removeIf(value -> !alreadySeen.add(value)); - alreadySeen.clear(); - removeControlledVocabularyDuplicates(field.getChildren()); - } - } }