Skip to content

Commit 449c2f7

Browse files
authored
Merge pull request #11551 from Recherche-Data-Gouv/11536-Inconsistency-between-subject-metrics-for-dataverses-and-datasets
Added a control to publishing a Dataset and cleaning dataversesubjects table
2 parents 111e091 + 87df34f commit 449c2f7

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -334,12 +334,16 @@ private void updateParentDataversesSubjectsField(Dataset savedDataset, CommandCo
334334
while (dv != null) {
335335
boolean newSubjectsAdded = false;
336336
for (ControlledVocabularyValue cvv : dsf.getControlledVocabularyValues()) {
337-
if (!dv.getDataverseSubjects().contains(cvv)) {
338-
logger.fine("dv "+dv.getAlias()+" does not have subject "+cvv.getStrValue());
339-
newSubjectsAdded = true;
340-
dv.getDataverseSubjects().add(cvv);
337+
if (!cvv.getStrValue().equals(DatasetField.NA_VALUE)) {
338+
if (!dv.getDataverseSubjects().contains(cvv)) {
339+
logger.fine("dv "+dv.getAlias()+" does not have subject "+cvv.getStrValue());
340+
newSubjectsAdded = true;
341+
dv.getDataverseSubjects().add(cvv);
342+
} else {
343+
logger.fine("dv "+dv.getAlias()+" already has subject "+cvv.getStrValue());
344+
}
341345
} else {
342-
logger.fine("dv "+dv.getAlias()+" already has subject "+cvv.getStrValue());
346+
logger.fine("Subject is not recognized : " + cvv.getStrValue());
343347
}
344348
}
345349
if (newSubjectsAdded) {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- remove dataversesubjects entries with a controlledvocabularyvalue_id matching "N/A"
2+
DELETE FROM dataversesubjects WHERE controlledvocabularyvalue_id = 1 ;

0 commit comments

Comments
 (0)