Skip to content

Commit 9a5ca93

Browse files
authored
Merge pull request #12095 from IQSS/11968-compare-versions-license
11968 compare versions differences for license changes.
2 parents cc37d4d + f965ba4 commit 9a5ca93

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,13 @@ private void getTermsDifferences() {
224224
logger.warning("New version does not have TermsOfUseAndAccess");
225225
newTerms = new TermsOfUseAndAccess();
226226
}
227-
227+
228+
//get license name or bundle val for none to test for differences
229+
String originalLicenseName = originalTerms.getLicense() != null ? originalTerms.getLicense().getName() : BundleUtil.getStringFromBundle("license.none.chosen");
230+
String newLicenseName = newTerms.getLicense() != null ? newTerms.getLicense().getName() : BundleUtil.getStringFromBundle("license.none.chosen");
231+
232+
checkAndAddToChangeList(originalLicenseName, newLicenseName,
233+
BundleUtil.getStringFromBundle("file.dataFilesTab.terms.list.license"));
228234
checkAndAddToChangeList(originalTerms.getTermsOfUse(), newTerms.getTermsOfUse(),
229235
BundleUtil.getStringFromBundle("file.dataFilesTab.terms.list.termsOfUse.header"));
230236
checkAndAddToChangeList(originalTerms.getConfidentialityDeclaration(), newTerms.getConfidentialityDeclaration(),

src/test/java/edu/harvard/iq/dataverse/DatasetVersionDifferenceTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public void testDifferencing() {
5757
"You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.",
5858
URI.create("http://creativecommons.org/publicdomain/zero/1.0"), URI.create("/resources/images/cc0.png"),
5959
true, 1l);
60+
License license2 = new License("CC BY 4.0",
61+
"Share — copy and redistribute the material in any medium or format for any purpose, even commercially.",
62+
URI.create("https://creativecommons.org/licenses/by/4.0/"), URI.create("/resources/images/cc0.png"),
63+
true, 2l);
6064
license.setDefault(true);
6165
dataset.setProtocol("doi");
6266
dataset.setAuthority("10.5072/FK2");
@@ -66,9 +70,12 @@ public void testDifferencing() {
6670
datasetVersion.setVersionState(DatasetVersion.VersionState.RELEASED);
6771
datasetVersion.setVersionNumber(1L);
6872
datasetVersion.setTermsOfUseAndAccess(new TermsOfUseAndAccess());
73+
datasetVersion.getTermsOfUseAndAccess().setLicense(license);
6974
DatasetVersion datasetVersion2 = new DatasetVersion();
7075
datasetVersion2.setDataset(dataset);
7176
datasetVersion2.setVersionState(DatasetVersion.VersionState.DRAFT);
77+
datasetVersion2.setTermsOfUseAndAccess(new TermsOfUseAndAccess());
78+
datasetVersion2.getTermsOfUseAndAccess().setLicense(license);
7279

7380
// Published version's two files
7481
DataFile dataFile = new DataFile();
@@ -163,13 +170,15 @@ public void testDifferencing() {
163170
// Set the published version's TermsOfUseAndAccess to a non-null value
164171
TermsOfUseAndAccess termsOfUseAndAccess = new TermsOfUseAndAccess();
165172
datasetVersion.setTermsOfUseAndAccess(termsOfUseAndAccess);
173+
datasetVersion.getTermsOfUseAndAccess().setLicense(license);
166174

167175
compareResults(datasetVersion, datasetVersion2, expectedAddedFiles, expectedRemovedFiles,
168176
expectedChangedFileMetadata, expectedChangedVariableMetadata, expectedReplacedFiles, changedTerms);
169177

170178
// Set the draft version's TermsOfUseAndAccess to a non-null value
171179

172180
datasetVersion2.setTermsOfUseAndAccess(new TermsOfUseAndAccess());
181+
datasetVersion2.getTermsOfUseAndAccess().setLicense(license);
173182

174183
compareResults(datasetVersion, datasetVersion2, expectedAddedFiles, expectedRemovedFiles,
175184
expectedChangedFileMetadata, expectedChangedVariableMetadata, expectedReplacedFiles, changedTerms);
@@ -194,6 +203,21 @@ public void testDifferencing() {
194203

195204
compareResults(datasetVersion, datasetVersion2, expectedAddedFiles, expectedRemovedFiles,
196205
expectedChangedFileMetadata, expectedChangedVariableMetadata, expectedReplacedFiles, changedTerms);
206+
207+
// Change License in Draft version
208+
209+
datasetVersion2.getTermsOfUseAndAccess().setLicense(license2);
210+
datasetVersion2.getTermsOfUseAndAccess().setTermsOfUse("");
211+
datasetVersion.getTermsOfUseAndAccess().setDisclaimer("");
212+
213+
String[] termField3 = new String[] {
214+
BundleUtil.getStringFromBundle("file.dataFilesTab.terms.list.license"),
215+
"CC0 1.0", "CC BY 4.0" };
216+
changedTerms = new ArrayList<>();
217+
changedTerms.add(termField3);
218+
219+
compareResults(datasetVersion, datasetVersion2, expectedAddedFiles, expectedRemovedFiles,
220+
expectedChangedFileMetadata, expectedChangedVariableMetadata, expectedReplacedFiles, changedTerms);
197221

198222
}
199223

0 commit comments

Comments
 (0)