From cb29e3365208c341920f71ecb1fcc89c3df22744 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Thu, 27 Jul 2023 15:09:39 +0200 Subject: [PATCH] fixing #25275 --- .../BasicInformationView.java | 6 ++-- .../client/view/Ckan2ZenodoViewManager.java | 4 +-- .../CkanToZenodoPublisherServiceImpl.java | 20 +++++++++---- .../converter/ItemToZenodoConverter.java | 8 +++--- .../shared/wrapped/ZenodoMetadata.java | 28 +++---------------- 5 files changed, 27 insertions(+), 39 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 675c026..da36fbb 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 @@ -329,9 +329,9 @@ public class BasicInformationView extends Composite implements FormValidator { // License if (zMeta.getLicenses() != null) { List listLicensesIds = null; - List selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenses()); - if(zMeta.getLicenses()!=null) { - listLicensesIds = FieldUtil.toZenodoIds(zMeta.getLicenses()); + List selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectedValues()); + if(zMeta.getLicenses().getSelectableValues()!=null) { + listLicensesIds = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectableValues()); FieldUtil.addValuesToListBox(field_license, listLicensesIds); field_license.setEnabled(true); }else { 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 ae0b83f..5beeb51 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 @@ -163,8 +163,8 @@ public class Ckan2ZenodoViewManager { String licenseId = basicForm.getField_license().getSelectedValue(); if(licenseId!=null) { LicenseBean licenseBean = new LicenseBean(licenseId, null, null); - //meta.setLicenses(new SerializableEnum(Arrays.asList(licenseBean),null)); - meta.setLicenses(Arrays.asList(licenseBean)); + meta.setLicenses(new SerializableEnum(Arrays.asList(licenseBean),null)); + //meta.setLicenses(Arrays.asList(licenseBean)); } //embargo date 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 df2bdc2..0140f2b 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 @@ -180,17 +180,25 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple ItemTranslateError itemTrError = null; try { zdDeposition = client.translate(itemDescr); - } catch (ConfigurationException e) { + } catch (ConfigurationException | TransformationException e) { LOG.info(ConfigurationException.class.getSimpleName() + " thrown, trying to use forceTranslation for: " + itemDescr.getName()); itemTrError = new ItemTranslateError(e.getMessage(), ERROR_TYPE.INFO); zdDeposition = client.forceTranslation(itemDescr); } - - // Loading Filtered resources according to VRE policies - List filteredResources = loadFilterResources(item.getItemId()); - - LOG.debug("Loaded filtered resources: " + filteredResources); + + //fixing issue #25275 + List filteredResources = null; + try { + // Loading Filtered resources according to VRE policies + filteredResources = loadFilterResources(item.getItemId()); + LOG.debug("Loaded filtered resources: " + filteredResources); + } catch (ConfigurationException | TransformationException e) { + LOG.info(ConfigurationException.class.getSimpleName() + " thrown, registering loadFilterResources error: " + + itemDescr.getName()); + itemTrError = new ItemTranslateError(e.getMessage(), ERROR_TYPE.INFO); + //zdDeposition = client.forceTranslation(itemDescr); + } // Converting ZenodoDeposition to ZenodoItem ZenodoItem zenodoItem = ItemToZenodoConverter.toZenodoItem(zdDeposition); 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 6d1ccd6..76e2470 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 @@ -240,8 +240,8 @@ public class ItemToZenodoConverter { selectedLicenses = Arrays.asList(new LicenseBean(depositionMetadata.getLicense(),depositionMetadata.getLicense(), null)); } if(selectedLicenses!=null) { - zm.setLicenses(selectedLicenses); //NEED TO ADD ALL LICENSES - //zm.setLicenses(CkanToZenodoUtil.licenseToSerializableEnum(selectedLicenses, null)); //NEED TO ADD ALL LICENSES + zm.setLicenses(CkanToZenodoUtil.licenseToSerializableEnum(selectedLicenses, null)); //NEED TO ADD ALL LICENSES + //zm.setLicenses(selectedLicenses); //NEED TO ADD ALL LICENSES } if(depositionMetadata.getEmbargo_date()!=null) { @@ -528,11 +528,11 @@ public class ItemToZenodoConverter { } //license - List licenses = metadata.getLicenses(); + SerializableEnum licenses = metadata.getLicenses(); LOG.debug("Read licenses: "+licenses); if(licenses!=null) { try { - LicenseBean lB = licenses.get(0); + LicenseBean lB = licenses.getSelectedValues().get(0); LOG.debug("Set license: "+lB); depositionMetadata.setLicense(lB.getId()); }catch (Exception e) { 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 20d9e54..e637142 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,9 +77,7 @@ public class ZenodoMetadata implements Serializable { private List dates; private String method; // TODO html - private List licenses; - - private List allLicenses; + private SerializableEnum licenses; /** * Instantiates a new zenodo metadata. @@ -884,37 +882,19 @@ public class ZenodoMetadata implements Serializable { * * @param licenses the new licenses */ - public void setLicenses(List licenses) { + public void setLicenses(SerializableEnum licenses) { this.licenses = licenses; } /** - * Gets the licenses. The selectable values + * Gets the licenses. * * @return the licenses */ - public List getLicenses() { + public SerializableEnum getLicenses() { return licenses; } - /** - * Gets the all licenses. - * - * @return the all licenses - */ - public void getAllLicenses() { - this.allLicenses = licenses; - } - - /** - * Sets the licenses. - * - * @param licenses the new licenses - */ - public void setAllLicenses(List licenses) { - this.allLicenses = licenses; - } - /** * To string. *