From bd9854a86eb3d04423aa5b05b74e5b35241fee9d Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 28 Jul 2023 11:16:23 +0200 Subject: [PATCH] using List for licenses --- .../BasicInformationView.java | 15 ++-- .../client/view/Ckan2ZenodoViewManager.java | 4 +- .../CkanToZenodoPublisherServiceImpl.java | 4 +- .../converter/ItemToZenodoConverter.java | 14 ++-- .../shared/wrapped/ZenodoLicense.java | 68 +++++++++---------- .../shared/wrapped/ZenodoMetadata.java | 24 ++++--- 6 files changed, 66 insertions(+), 63 deletions(-) diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/ui/basicinformation/BasicInformationView.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/ui/basicinformation/BasicInformationView.java index da36fbb..5ec4bdb 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/ui/basicinformation/BasicInformationView.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/ui/basicinformation/BasicInformationView.java @@ -327,20 +327,19 @@ public class BasicInformationView extends Composite implements FormValidator { InfoTextAndLabels.addTooltipForFieldKey("access_conditions", cl_access_conditions); // License - if (zMeta.getLicenses() != null) { - List listLicensesIds = null; - List selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectedValues()); - if(zMeta.getLicenses().getSelectableValues()!=null) { - listLicensesIds = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectableValues()); - FieldUtil.addValuesToListBox(field_license, listLicensesIds); + if (zMeta.getLicenseIDs() != null) { + //List listLicensesIds = null; + List selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenseIDs()); + if(selectedLicensesId!=null) { + FieldUtil.addValuesToListBox(field_license, selectedLicensesId); field_license.setEnabled(true); }else { //Exception case on missing list of selectable license ids - FieldUtil.addValuesToListBox(field_license, selectedLicensesId); + //FieldUtil.addValuesToListBox(field_license, selectedLicensesId); field_license.setEnabled(false); //only one license id is available } - FieldUtil.selectValueToListBox(field_license, selectedLicensesId); + //FieldUtil.selectValueToListBox(field_license, selectedLicensesId); }else field_license.setEnabled(false); diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java index c1066ca..472f868 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java @@ -162,7 +162,9 @@ public class Ckan2ZenodoViewManager { String licenseId = basicForm.getField_license().getSelectedValue(); if(licenseId!=null) { //LicenseDTO licenseBean = new LicenseDTO(licenseId, null, null); - meta.setLicenses(new SerializableEnum(Arrays.asList(licenseId),null)); + List licenses = new ArrayList(); + licenses.add(licenseId); + meta.setLicenseIDs(licenses); //meta.setLicenses(Arrays.asList(licenseBean)); } diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/CkanToZenodoPublisherServiceImpl.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/CkanToZenodoPublisherServiceImpl.java index ea52d12..d9b2ae2 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/CkanToZenodoPublisherServiceImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/CkanToZenodoPublisherServiceImpl.java @@ -205,9 +205,9 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple // TODO I'M WAITING FOR itemName retrieved from ckan2zenodo library zenodoItem.setName(item.getItemId()); - LOG.debug("zenodoItem getLicenses as list: " + zenodoItem.getMetadata().getLicenses()); + LOG.debug("zenodoItem getLicenses as list: " + zenodoItem.getMetadata().getLicenseIDs()); LOG.debug("setting licenses at null"); - zenodoItem.getMetadata().setLicenses(null); + zenodoItem.getMetadata().setLicenseIDs(null); LOG.debug("Returning item: " + zenodoItem); diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/converter/ItemToZenodoConverter.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/converter/ItemToZenodoConverter.java index 1a60ccb..39deee0 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/converter/ItemToZenodoConverter.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/server/converter/ItemToZenodoConverter.java @@ -1,7 +1,6 @@ package org.gcube.portlets.widgets.ckan2zenodopublisher.server.converter; import java.util.ArrayList; -import java.util.Arrays; import java.util.Date; import java.util.List; @@ -234,12 +233,13 @@ public class ItemToZenodoConverter { zm.setImage_type(CkanToZenodoUtil.toSerializableEnum(imageType, ImageType.values())); //Licenses - SerializableEnum selectedLicenses = null; + List selectedLicenses = null; if(depositionMetadata.getLicense()!=null) { - selectedLicenses = new SerializableEnum(Arrays.asList(depositionMetadata.getLicense()), new ArrayList()); //NEED TO ADD ALL LICENSES + selectedLicenses = new ArrayList(); + selectedLicenses.add(depositionMetadata.getLicense()); //NEED TO ADD ALL LICENSES } if(selectedLicenses!=null) { - zm.setLicenses(selectedLicenses); + zm.setLicenseIDs(selectedLicenses); } if(depositionMetadata.getEmbargo_date()!=null) { @@ -526,11 +526,11 @@ public class ItemToZenodoConverter { } //license - SerializableEnum licenses = metadata.getLicenses(); + List licenses = metadata.getLicenseIDs(); LOG.debug("Read licenses: "+licenses); - if(licenses!=null) { + if(licenses!=null && licenses.size()>0) { try { - String lB = licenses.getSelectedValues().get(0); + String lB = licenses.get(0); LOG.debug("Set license: "+lB); depositionMetadata.setLicense(lB); }catch (Exception e) { diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoLicense.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoLicense.java index 91cdbac..613b1db 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoLicense.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoLicense.java @@ -1,34 +1,34 @@ -package org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped; - - -/** - * The Interface ZenodoLicense. - * - * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) - * - * Jan 21, 2020 - */ -public interface ZenodoLicense { - - /** - * Gets the id. - * - * @return the id - */ - String getId(); - - /** - * Gets the title. - * - * @return the title - */ - String getTitle(); - - /** - * Gets the url. - * - * @return the url - */ - String getUrl(); - -} +//package org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped; +// +// +///** +// * The Interface ZenodoLicense. +// * +// * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) +// * +// * Jan 21, 2020 +// */ +//public interface ZenodoLicense { +// +// /** +// * Gets the id. +// * +// * @return the id +// */ +// String getId(); +// +// /** +// * Gets the title. +// * +// * @return the title +// */ +// String getTitle(); +// +// /** +// * Gets the url. +// * +// * @return the url +// */ +// String getUrl(); +// +//} diff --git a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoMetadata.java b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoMetadata.java index bfe2548..7ae0a8d 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoMetadata.java +++ b/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/shared/wrapped/ZenodoMetadata.java @@ -77,7 +77,9 @@ public class ZenodoMetadata implements Serializable { private List dates; private String method; // TODO html - private SerializableEnum licenses; + // private SerializableEnum licenseIDs; + + private List licenseIDs; /** * Instantiates a new zenodo metadata. @@ -878,21 +880,21 @@ public class ZenodoMetadata implements Serializable { } /** - * Sets the licenses. + * Sets the license IDs. * - * @param licenses the new licenses + * @param licensesIDs the new license IDs */ - public void setLicenses(SerializableEnum licenses) { - this.licenses = licenses; + public void setLicenseIDs(List licensesIDs) { + this.licenseIDs = licensesIDs; } /** - * Gets the licenses. + * Gets the license IDs. * - * @return the licenses + * @return the license IDs */ - public SerializableEnum getLicenses() { - return licenses; + public List getLicenseIDs() { + return licenseIDs; } /** @@ -989,8 +991,8 @@ public class ZenodoMetadata implements Serializable { builder.append(dates); builder.append(", method="); builder.append(method); - builder.append(", licenses="); - builder.append(licenses); + builder.append(", licenseIDs="); + builder.append(licenseIDs); builder.append("]"); return builder.toString(); }