using List<String> for licenses

This commit is contained in:
Francesco Mangiacrapa 2023-07-28 11:16:23 +02:00
parent baf76a4e9e
commit bd9854a86e
6 changed files with 66 additions and 63 deletions

View File

@ -327,20 +327,19 @@ public class BasicInformationView extends Composite implements FormValidator {
InfoTextAndLabels.addTooltipForFieldKey("access_conditions", cl_access_conditions); InfoTextAndLabels.addTooltipForFieldKey("access_conditions", cl_access_conditions);
// License // License
if (zMeta.getLicenses() != null) { if (zMeta.getLicenseIDs() != null) {
List<String> listLicensesIds = null; //List<String> listLicensesIds = null;
List<String> selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectedValues()); List<String> selectedLicensesId = FieldUtil.toZenodoIds(zMeta.getLicenseIDs());
if(zMeta.getLicenses().getSelectableValues()!=null) { if(selectedLicensesId!=null) {
listLicensesIds = FieldUtil.toZenodoIds(zMeta.getLicenses().getSelectableValues()); FieldUtil.addValuesToListBox(field_license, selectedLicensesId);
FieldUtil.addValuesToListBox(field_license, listLicensesIds);
field_license.setEnabled(true); field_license.setEnabled(true);
}else { }else {
//Exception case on missing list of selectable license ids //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 field_license.setEnabled(false); //only one license id is available
} }
FieldUtil.selectValueToListBox(field_license, selectedLicensesId); //FieldUtil.selectValueToListBox(field_license, selectedLicensesId);
}else }else
field_license.setEnabled(false); field_license.setEnabled(false);

View File

@ -162,7 +162,9 @@ public class Ckan2ZenodoViewManager {
String licenseId = basicForm.getField_license().getSelectedValue(); String licenseId = basicForm.getField_license().getSelectedValue();
if(licenseId!=null) { if(licenseId!=null) {
//LicenseDTO licenseBean = new LicenseDTO(licenseId, null, null); //LicenseDTO licenseBean = new LicenseDTO(licenseId, null, null);
meta.setLicenses(new SerializableEnum<String>(Arrays.asList(licenseId),null)); List<String> licenses = new ArrayList<String>();
licenses.add(licenseId);
meta.setLicenseIDs(licenses);
//meta.setLicenses(Arrays.asList(licenseBean)); //meta.setLicenses(Arrays.asList(licenseBean));
} }

View File

@ -205,9 +205,9 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple
// TODO I'M WAITING FOR itemName retrieved from ckan2zenodo library // TODO I'M WAITING FOR itemName retrieved from ckan2zenodo library
zenodoItem.setName(item.getItemId()); 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"); LOG.debug("setting licenses at null");
zenodoItem.getMetadata().setLicenses(null); zenodoItem.getMetadata().setLicenseIDs(null);
LOG.debug("Returning item: " + zenodoItem); LOG.debug("Returning item: " + zenodoItem);

View File

@ -1,7 +1,6 @@
package org.gcube.portlets.widgets.ckan2zenodopublisher.server.converter; package org.gcube.portlets.widgets.ckan2zenodopublisher.server.converter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -234,12 +233,13 @@ public class ItemToZenodoConverter {
zm.setImage_type(CkanToZenodoUtil.toSerializableEnum(imageType, ImageType.values())); zm.setImage_type(CkanToZenodoUtil.toSerializableEnum(imageType, ImageType.values()));
//Licenses //Licenses
SerializableEnum<String> selectedLicenses = null; List<String> selectedLicenses = null;
if(depositionMetadata.getLicense()!=null) { if(depositionMetadata.getLicense()!=null) {
selectedLicenses = new SerializableEnum<String>(Arrays.asList(depositionMetadata.getLicense()), new ArrayList<String>()); //NEED TO ADD ALL LICENSES selectedLicenses = new ArrayList<String>();
selectedLicenses.add(depositionMetadata.getLicense()); //NEED TO ADD ALL LICENSES
} }
if(selectedLicenses!=null) { if(selectedLicenses!=null) {
zm.setLicenses(selectedLicenses); zm.setLicenseIDs(selectedLicenses);
} }
if(depositionMetadata.getEmbargo_date()!=null) { if(depositionMetadata.getEmbargo_date()!=null) {
@ -526,11 +526,11 @@ public class ItemToZenodoConverter {
} }
//license //license
SerializableEnum<String> licenses = metadata.getLicenses(); List<String> licenses = metadata.getLicenseIDs();
LOG.debug("Read licenses: "+licenses); LOG.debug("Read licenses: "+licenses);
if(licenses!=null) { if(licenses!=null && licenses.size()>0) {
try { try {
String lB = licenses.getSelectedValues().get(0); String lB = licenses.get(0);
LOG.debug("Set license: "+lB); LOG.debug("Set license: "+lB);
depositionMetadata.setLicense(lB); depositionMetadata.setLicense(lB);
}catch (Exception e) { }catch (Exception e) {

View File

@ -1,34 +1,34 @@
package org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped; //package org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped;
//
//
/** ///**
* The Interface ZenodoLicense. // * The Interface ZenodoLicense.
* // *
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) // * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
* // *
* Jan 21, 2020 // * Jan 21, 2020
*/ // */
public interface ZenodoLicense { //public interface ZenodoLicense {
//
/** // /**
* Gets the id. // * Gets the id.
* // *
* @return the id // * @return the id
*/ // */
String getId(); // String getId();
//
/** // /**
* Gets the title. // * Gets the title.
* // *
* @return the title // * @return the title
*/ // */
String getTitle(); // String getTitle();
//
/** // /**
* Gets the url. // * Gets the url.
* // *
* @return the url // * @return the url
*/ // */
String getUrl(); // String getUrl();
//
} //}

View File

@ -77,7 +77,9 @@ public class ZenodoMetadata implements Serializable {
private List<ZenodoDateInterval> dates; private List<ZenodoDateInterval> dates;
private String method; // TODO html private String method; // TODO html
private SerializableEnum<String> licenses; // private SerializableEnum<String> licenseIDs;
private List<String> licenseIDs;
/** /**
* Instantiates a new zenodo metadata. * 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<String> licenses) { public void setLicenseIDs(List<String> licensesIDs) {
this.licenses = licenses; this.licenseIDs = licensesIDs;
} }
/** /**
* Gets the licenses. * Gets the license IDs.
* *
* @return the licenses * @return the license IDs
*/ */
public SerializableEnum<String> getLicenses() { public List<String> getLicenseIDs() {
return licenses; return licenseIDs;
} }
/** /**
@ -989,8 +991,8 @@ public class ZenodoMetadata implements Serializable {
builder.append(dates); builder.append(dates);
builder.append(", method="); builder.append(", method=");
builder.append(method); builder.append(method);
builder.append(", licenses="); builder.append(", licenseIDs=");
builder.append(licenses); builder.append(licenseIDs);
builder.append("]"); builder.append("]");
return builder.toString(); return builder.toString();
} }