Skip to content

Commit 2a7e169

Browse files
committed
only remove from old draft
1 parent 2a0b453 commit 2a7e169

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/main/java/edu/harvard/iq/dataverse/engine/command/impl/UpdateDatasetVersionMetadataCommand.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,16 @@ public Dataset execute(CommandContext ctxt) throws CommandException {
172172
if (!dvDifference.getDetailDataByBlock().isEmpty()) {
173173
List<DatasetField> mergedFields = new ArrayList<>();
174174
final DatasetVersion dbVersion = persistedVersion;
175+
boolean dbIsDraft = dbVersion.isDraft();
175176
editVersion.getDatasetFields().forEach(df -> {
176177
if (df.getId() == null) {
177178
logger.info("Swapping fields of type: " + df.getDatasetFieldType());
178179
ctxt.em().persist(df);
179-
DatasetField obsolete = dbVersion.getDatasetField(df.getDatasetFieldType());
180-
if (obsolete != null) {
181-
ctxt.em().remove(obsolete);
180+
if (dbIsDraft) {
181+
DatasetField obsolete = dbVersion.getDatasetField(df.getDatasetFieldType());
182+
if (obsolete != null) {
183+
ctxt.em().remove(obsolete);
184+
}
182185
}
183186
}
184187
logger.info("Merging existing field at: " + (System.currentTimeMillis() - startTime));

0 commit comments

Comments
 (0)