on going #18226
This commit is contained in:
parent
f115b529c5
commit
371e5c8874
|
@ -142,9 +142,9 @@ public class CkanToZendoPublisherWidget {
|
||||||
*/
|
*/
|
||||||
private void submitPublishOnZenodo() {
|
private void submitPublishOnZenodo() {
|
||||||
|
|
||||||
ZenodoItem zenodoItem = null;
|
ZenodoItem zenodoItem = manager.getZenodoItemFromFieldsForm();
|
||||||
|
|
||||||
GWT.log("Publishing file: "+manager.getListFileToPublish());
|
GWT.log("Publishing file: "+zenodoItem.getFiles());
|
||||||
|
|
||||||
ckanToZenodoService.publishOnZenodo(zenodoItem, new AsyncCallback<String>() {
|
ckanToZenodoService.publishOnZenodo(zenodoItem, new AsyncCallback<String>() {
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui;
|
|
||||||
|
|
||||||
public interface ValidateForm {
|
|
||||||
|
|
||||||
boolean isValidForm();
|
|
||||||
|
|
||||||
}
|
|
|
@ -3,6 +3,7 @@ package org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.authors;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEvent;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEvent;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
|
import com.github.gwtbootstrap.client.ui.ControlGroup;
|
||||||
import com.github.gwtbootstrap.client.ui.TextBox;
|
import com.github.gwtbootstrap.client.ui.TextBox;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
|
@ -32,6 +33,9 @@ public class CreatorView extends Composite {
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
Button remove_author;
|
Button remove_author;
|
||||||
|
|
||||||
|
@UiField
|
||||||
|
ControlGroup cg_authors;
|
||||||
|
|
||||||
private HandlerManager eventBus;
|
private HandlerManager eventBus;
|
||||||
|
|
||||||
|
@ -85,5 +89,9 @@ public class CreatorView extends Composite {
|
||||||
public void setField_orcid(String field_orcid) {
|
public void setField_orcid(String field_orcid) {
|
||||||
this.field_orcid.setValue(field_orcid);
|
this.field_orcid.setValue(field_orcid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ControlGroup getControlGroup_Author() {
|
||||||
|
return cg_authors;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,14 @@ import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEvent;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEvent;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEventHandler;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.events.RemoveCreatorEventHandler;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.ValidateForm;
|
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.utils.InfoTextAndLabels;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.utils.InfoTextAndLabels;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FieldUtil;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FormValidator;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.Button;
|
import com.github.gwtbootstrap.client.ui.Button;
|
||||||
|
import com.github.gwtbootstrap.client.ui.ControlGroup;
|
||||||
|
import com.github.gwtbootstrap.client.ui.constants.ControlGroupType;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
@ -27,7 +30,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||||
*
|
*
|
||||||
* Dec 17, 2019
|
* Dec 17, 2019
|
||||||
*/
|
*/
|
||||||
public class CreatorsFormView extends Composite implements ValidateForm{
|
public class CreatorsFormView extends Composite implements FormValidator{
|
||||||
|
|
||||||
private static CreatorsFormViewUiBinder uiBinder = GWT.create(CreatorsFormViewUiBinder.class);
|
private static CreatorsFormViewUiBinder uiBinder = GWT.create(CreatorsFormViewUiBinder.class);
|
||||||
|
|
||||||
|
@ -50,8 +53,6 @@ public class CreatorsFormView extends Composite implements ValidateForm{
|
||||||
@UiField
|
@UiField
|
||||||
Button button_add_author;
|
Button button_add_author;
|
||||||
|
|
||||||
private List<ZenodoCreator> listCreators;
|
|
||||||
|
|
||||||
private List<CreatorView> listCreatorView;
|
private List<CreatorView> listCreatorView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,7 +62,6 @@ public class CreatorsFormView extends Composite implements ValidateForm{
|
||||||
*/
|
*/
|
||||||
public CreatorsFormView(List<ZenodoCreator> listCreators) {
|
public CreatorsFormView(List<ZenodoCreator> listCreators) {
|
||||||
initWidget(uiBinder.createAndBindUi(this));
|
initWidget(uiBinder.createAndBindUi(this));
|
||||||
this.listCreators = listCreators;
|
|
||||||
|
|
||||||
button_add_author.addClickHandler(new ClickHandler() {
|
button_add_author.addClickHandler(new ClickHandler() {
|
||||||
|
|
||||||
|
@ -85,23 +85,15 @@ public class CreatorsFormView extends Composite implements ValidateForm{
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
addCreatorsToView();
|
addCreatorsToView(listCreators);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isValidForm() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the creators to view.
|
* Adds the creators to view.
|
||||||
|
* @param listCreators
|
||||||
*/
|
*/
|
||||||
private void addCreatorsToView() {
|
private void addCreatorsToView(List<ZenodoCreator> listCreators) {
|
||||||
if(listCreatorView==null)
|
if(listCreatorView==null)
|
||||||
listCreatorView = new ArrayList<CreatorView>();
|
listCreatorView = new ArrayList<CreatorView>();
|
||||||
|
|
||||||
|
@ -146,5 +138,58 @@ public class CreatorsFormView extends Composite implements ValidateForm{
|
||||||
creator.setVisibleRemoveCreator(removableCreator);
|
creator.setVisibleRemoveCreator(removableCreator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read list of creators from view.
|
||||||
|
*
|
||||||
|
* @return the list
|
||||||
|
*/
|
||||||
|
public List<ZenodoCreator> readListOfCreatorsFromView(){
|
||||||
|
List<ZenodoCreator> listCreators = new ArrayList<ZenodoCreator>(listCreatorView.size());
|
||||||
|
for (CreatorView creatorView : listCreatorView) {
|
||||||
|
listCreators.add(new ZenodoCreator(creatorView.getField_name().getValue(), creatorView.getField_affiliation().getValue(), creatorView.getField_affiliation().getValue(), null));
|
||||||
|
}
|
||||||
|
|
||||||
|
return listCreators;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValidForm() {
|
||||||
|
return validateFormFields()==null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String validateFormFields() {
|
||||||
|
|
||||||
|
for (CreatorView creatorView : listCreatorView) {
|
||||||
|
ControlGroup cgAuthor = creatorView.getControlGroup_Author();
|
||||||
|
FieldUtil.setControlGroup(cgAuthor, ControlGroupType.NONE);
|
||||||
|
String value = FieldUtil.getTextValue(creatorView.getField_name());
|
||||||
|
boolean isValid = FieldUtil.isValidValue(value);
|
||||||
|
if(!isValid) {
|
||||||
|
FieldUtil.setControlGroup(cgAuthor, ControlGroupType.ERROR);
|
||||||
|
return "The author name is required";
|
||||||
|
}
|
||||||
|
|
||||||
|
String affiliation = FieldUtil.getTextValue(creatorView.getField_affiliation());
|
||||||
|
isValid = FieldUtil.isValidValue(affiliation);
|
||||||
|
if(!isValid) {
|
||||||
|
FieldUtil.setControlGroup(cgAuthor, ControlGroupType.ERROR);
|
||||||
|
return "The author affiliation is required";
|
||||||
|
}
|
||||||
|
|
||||||
|
String orcid = FieldUtil.getTextValue(creatorView.getField_orcid());
|
||||||
|
isValid = FieldUtil.isValidValue(orcid);
|
||||||
|
if(!isValid) {
|
||||||
|
FieldUtil.setControlGroup(cgAuthor, ControlGroupType.ERROR);
|
||||||
|
return "The author ORCID is required";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.basicinformation;
|
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.basicinformation;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.authors.CreatorsFormView;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.authors.CreatorsFormView;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.tags.TagsPanel;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FieldUtil;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FieldUtil;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FormValidator;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.FormValidator;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoMetadata;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoMetadata;
|
||||||
|
|
||||||
|
@ -72,6 +75,9 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
Alert error_alert;
|
Alert error_alert;
|
||||||
|
|
||||||
|
@UiField
|
||||||
|
TagsPanel the_tags_panel;
|
||||||
|
|
||||||
// @UiField
|
// @UiField
|
||||||
// Pager pager;
|
// Pager pager;
|
||||||
|
@ -156,10 +162,23 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
|
|
||||||
ZenodoMetadata zMeta = zenodoItem.getMetadata();
|
ZenodoMetadata zMeta = zenodoItem.getMetadata();
|
||||||
if (zMeta != null) {
|
if (zMeta != null) {
|
||||||
|
String title = zenodoItem.getTitle()!=null?zenodoItem.getTitle():zMeta.getTitle();
|
||||||
|
field_title.setValue(title); //Re.fill title to be sure
|
||||||
|
|
||||||
addValuesToListBox(field_upload_type, zMeta.getUpload_type().getSelectableValues());
|
addValuesToListBox(field_upload_type, zMeta.getUpload_type().getSelectableValues());
|
||||||
selectValueToListBox(field_upload_type, zMeta.getUpload_type().getSelectableValues());
|
selectValueToListBox(field_upload_type, zMeta.getUpload_type().getSelectedValues());
|
||||||
addValuesToListBox(field_publication_type, zMeta.getPublication_type().getSelectableValues());
|
|
||||||
selectValueToListBox(field_publication_type, zMeta.getPublication_type().getSelectableValues());
|
if(zMeta.getPublication_type()!=null) {
|
||||||
|
addValuesToListBox(field_publication_type, zMeta.getPublication_type().getSelectableValues());
|
||||||
|
selectValueToListBox(field_publication_type, zMeta.getPublication_type().getSelectedValues());
|
||||||
|
}else
|
||||||
|
field_publication_type.setEnabled(false);
|
||||||
|
|
||||||
|
addValuesToListBox(field_access_right, zMeta.getAccess_right().getSelectableValues());
|
||||||
|
selectValueToListBox(field_access_right, zMeta.getAccess_right().getSelectedValues());
|
||||||
|
|
||||||
|
addValuesToListBox(field_license, Arrays.asList(zMeta.getLicense().getId()));
|
||||||
|
selectValueToListBox(field_license, Arrays.asList(zMeta.getLicense().getId()));
|
||||||
|
|
||||||
// ADDING AUTHORS
|
// ADDING AUTHORS
|
||||||
creatorsView = new CreatorsFormView(zenodoItem.getMetadata().getCreators());
|
creatorsView = new CreatorsFormView(zenodoItem.getMetadata().getCreators());
|
||||||
|
@ -185,7 +204,7 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (int i = 0; i < listValues.size(); i++) {
|
for (int i = 0; i < listValues.size(); i++) {
|
||||||
list.setValue(i, listValues.get(i));
|
list.addItem(listValues.get(i), listValues.get(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,6 +215,7 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
* @param values the values
|
* @param values the values
|
||||||
*/
|
*/
|
||||||
private void selectValueToListBox(ListBox list, List<String> values) {
|
private void selectValueToListBox(ListBox list, List<String> values) {
|
||||||
|
GWT.log("Selecting value: "+values);
|
||||||
String selectValue = null;
|
String selectValue = null;
|
||||||
if (values == null || values.isEmpty()) {
|
if (values == null || values.isEmpty()) {
|
||||||
selectValue = null;
|
selectValue = null;
|
||||||
|
@ -303,6 +323,7 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
FieldUtil.setControlGroup(cgDOI, ControlGroupType.NONE);
|
FieldUtil.setControlGroup(cgDOI, ControlGroupType.NONE);
|
||||||
FieldUtil.setControlGroup(cgTitle, ControlGroupType.NONE);
|
FieldUtil.setControlGroup(cgTitle, ControlGroupType.NONE);
|
||||||
|
|
||||||
|
//Validating DOI
|
||||||
if (cgDOI.isVisible()) {
|
if (cgDOI.isVisible()) {
|
||||||
GWT.log("Checking doi---");
|
GWT.log("Checking doi---");
|
||||||
String value = getTextValue(field_doi);
|
String value = getTextValue(field_doi);
|
||||||
|
@ -310,11 +331,12 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
if(!isValid) {
|
if(!isValid) {
|
||||||
FieldUtil.setControlGroup(cgDOI, ControlGroupType.ERROR);
|
FieldUtil.setControlGroup(cgDOI, ControlGroupType.ERROR);
|
||||||
error_alert.setVisible(true);
|
error_alert.setVisible(true);
|
||||||
error_alert.setText("This field is required");
|
error_alert.setText("This field DOI is required");
|
||||||
return "This field is required";
|
return "This field is required";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Validating Title
|
||||||
if (cgTitle.isVisible()) {
|
if (cgTitle.isVisible()) {
|
||||||
GWT.log("Checking title---");
|
GWT.log("Checking title---");
|
||||||
String value = getTextValue(field_title);
|
String value = getTextValue(field_title);
|
||||||
|
@ -323,10 +345,20 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
if(!isValid) {
|
if(!isValid) {
|
||||||
FieldUtil.setControlGroup(cgTitle, ControlGroupType.ERROR);
|
FieldUtil.setControlGroup(cgTitle, ControlGroupType.ERROR);
|
||||||
error_alert.setVisible(true);
|
error_alert.setVisible(true);
|
||||||
error_alert.setText("This field is required");
|
error_alert.setText("The field Title is required");
|
||||||
return "This field is required";
|
return "This field is required";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Validating Authors
|
||||||
|
if(creatorsView!=null) {
|
||||||
|
String error = creatorsView.validateFormFields();
|
||||||
|
if(error!=null) {
|
||||||
|
error_alert.setVisible(true);
|
||||||
|
error_alert.setText(error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -351,4 +383,65 @@ public class BasicInformationView extends Composite implements FormValidator {
|
||||||
|
|
||||||
return box.getText();
|
return box.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CreatorsFormView getCreatorsView() {
|
||||||
|
return creatorsView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the list of creators.
|
||||||
|
*
|
||||||
|
* @return the list of creators
|
||||||
|
*/
|
||||||
|
public List<ZenodoCreator> getListOfCreators() {
|
||||||
|
return creatorsView.readListOfCreatorsFromView();
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextBox getField_title() {
|
||||||
|
return field_title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextBox getField_doi() {
|
||||||
|
return field_doi;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Fieldset getFieldset_basic_informations() {
|
||||||
|
return fieldset_basic_informations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextArea getField_description() {
|
||||||
|
return field_description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListBox getField_upload_type() {
|
||||||
|
return field_upload_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListBox getField_access_right() {
|
||||||
|
return field_access_right;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListBox getField_license() {
|
||||||
|
return field_license;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListBox getField_publication_type() {
|
||||||
|
return field_publication_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DateBox getField_publication_date() {
|
||||||
|
return field_publication_date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Alert getError_alert() {
|
||||||
|
return error_alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getTags() {
|
||||||
|
return the_tags_panel.getTags();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
</b:Controls>
|
</b:Controls>
|
||||||
</b:ControlGroup>
|
</b:ControlGroup>
|
||||||
|
|
||||||
<ctag:TagsPanel></ctag:TagsPanel>
|
<ctag:TagsPanel ui:field="the_tags_panel"></ctag:TagsPanel>
|
||||||
|
|
||||||
|
|
||||||
<b:ControlGroup ui:field="cg_upload_type">
|
<b:ControlGroup ui:field="cg_upload_type">
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
|
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.BasicTabPanel;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.BasicTabPanel;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.authors.CreatorView;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.basicinformation.BasicInformationView;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.basicinformation.BasicInformationView;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.SerializableEnum;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoMetadata;
|
||||||
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
|
|
||||||
|
@ -28,6 +33,9 @@ public class Ckan2ZenodoViewManager {
|
||||||
private List<FormValidator> forms = new ArrayList<FormValidator>();
|
private List<FormValidator> forms = new ArrayList<FormValidator>();
|
||||||
private BasicInformationView basicForm;
|
private BasicInformationView basicForm;
|
||||||
private PublishFileViewManager publishFileVM;
|
private PublishFileViewManager publishFileVM;
|
||||||
|
|
||||||
|
|
||||||
|
private ZenodoItem zenodoItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new ckan 2 zenodo view manager.
|
* Instantiates a new ckan 2 zenodo view manager.
|
||||||
|
@ -43,7 +51,7 @@ public class Ckan2ZenodoViewManager {
|
||||||
* @return the basic tab panel
|
* @return the basic tab panel
|
||||||
*/
|
*/
|
||||||
public BasicTabPanel viewForPublishing(final ZenodoItem zenodoItem){
|
public BasicTabPanel viewForPublishing(final ZenodoItem zenodoItem){
|
||||||
|
this.zenodoItem = zenodoItem;
|
||||||
basicTabPanel = new BasicTabPanel();
|
basicTabPanel = new BasicTabPanel();
|
||||||
|
|
||||||
boolean isUpdate = false;
|
boolean isUpdate = false;
|
||||||
|
@ -85,5 +93,44 @@ public class Ckan2ZenodoViewManager {
|
||||||
public List<ZenodoFile> getListFileToPublish(){
|
public List<ZenodoFile> getListFileToPublish(){
|
||||||
return publishFileVM.getSelectedFileToZenodoPublishing();
|
return publishFileVM.getSelectedFileToZenodoPublishing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the zenodo item from form.
|
||||||
|
*
|
||||||
|
* @return the zenodo item from form
|
||||||
|
*/
|
||||||
|
public ZenodoItem getZenodoItemFromFieldsForm(){
|
||||||
|
|
||||||
|
//Updating Basic Information
|
||||||
|
zenodoItem.setTitle(basicForm.getField_title().getValue());
|
||||||
|
zenodoItem.setDoi(basicForm.getField_doi().getValue());
|
||||||
|
|
||||||
|
//Updating Metadata
|
||||||
|
ZenodoMetadata meta = zenodoItem.getMetadata();
|
||||||
|
meta.setDescription(basicForm.getField_description().getValue());
|
||||||
|
meta.setKeywords(basicForm.getTags()); //these are the keywords
|
||||||
|
List<ZenodoCreator> creators = basicForm.getListOfCreators();
|
||||||
|
meta.setCreators(creators);
|
||||||
|
|
||||||
|
//upload type
|
||||||
|
String uploadType = basicForm.getField_upload_type().getSelectedValue();
|
||||||
|
meta.setUpload_type(new SerializableEnum<>(Arrays.asList(uploadType), meta.getUpload_type().getSelectableValues()));
|
||||||
|
//publication type
|
||||||
|
String publicationType = basicForm.getField_publication_type().getSelectedValue();
|
||||||
|
meta.setPublication_type(new SerializableEnum<>(Arrays.asList(publicationType), meta.getPublication_type().getSelectableValues()));
|
||||||
|
//access right
|
||||||
|
String accessRight = basicForm.getField_access_right().getSelectedValue();
|
||||||
|
meta.setAccess_right(new SerializableEnum<>(Arrays.asList(accessRight), meta.getAccess_right().getSelectableValues()));
|
||||||
|
|
||||||
|
zenodoItem.setMetadata(meta);
|
||||||
|
|
||||||
|
//Updating list of file for publishing
|
||||||
|
List<ZenodoFile> publishingFile = getListFileToPublish();
|
||||||
|
zenodoItem.setFiles(publishingFile);
|
||||||
|
|
||||||
|
return zenodoItem;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,18 @@
|
||||||
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
|
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
|
||||||
|
|
||||||
import com.github.gwtbootstrap.client.ui.ControlGroup;
|
import com.github.gwtbootstrap.client.ui.ControlGroup;
|
||||||
|
import com.github.gwtbootstrap.client.ui.TextBox;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.ControlGroupType;
|
import com.github.gwtbootstrap.client.ui.constants.ControlGroupType;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class FieldUtil.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Jan 13, 2020
|
||||||
|
*/
|
||||||
public class FieldUtil {
|
public class FieldUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,7 +47,7 @@ public class FieldUtil {
|
||||||
/**
|
/**
|
||||||
* Sets the control group.
|
* Sets the control group.
|
||||||
*
|
*
|
||||||
* @param box the box
|
* @param controlGroup the control group
|
||||||
* @param type the type
|
* @param type the type
|
||||||
*/
|
*/
|
||||||
public static void setControlGroup(ControlGroup controlGroup, ControlGroupType type) {
|
public static void setControlGroup(ControlGroup controlGroup, ControlGroupType type) {
|
||||||
|
@ -52,4 +60,16 @@ public class FieldUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the text value.
|
||||||
|
*
|
||||||
|
* @param box the box
|
||||||
|
* @return the text value
|
||||||
|
*/
|
||||||
|
public static String getTextValue(TextBox box) {
|
||||||
|
|
||||||
|
return box.getText();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.gcube.data.publishing.ckan2zenodo.model.faults.GcatException;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.InvalidItemException;
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.InvalidItemException;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.TransformationException;
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.TransformationException;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.ZenodoException;
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.ZenodoException;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.CkanToZendoPublisherWidgetConstant;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.CkanToZendoPublisherWidgetConstant;
|
||||||
|
@ -17,6 +18,7 @@ import org.gcube.portlets.widgets.ckan2zenodopublisher.server.converter.ItemToZe
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.CatalogueItem;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.CatalogueItem;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoMetadata;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -40,9 +42,9 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple
|
||||||
ZenodoDeposition zdPreview=loadItemPreviewFromService(zenodoItem.getName());
|
ZenodoDeposition zdPreview=loadItemPreviewFromService(zenodoItem.getName());
|
||||||
|
|
||||||
//(EVENTUALLY) UPDATING INFO CHANGED BY FORM ON CLIENT-SIDE
|
//(EVENTUALLY) UPDATING INFO CHANGED BY FORM ON CLIENT-SIDE
|
||||||
//metadata
|
//Basic info
|
||||||
zdPreview.setTitle(zenodoItem.getTitle());
|
zdPreview.setTitle(zenodoItem.getTitle());
|
||||||
//files
|
//Files
|
||||||
if(zenodoItem.getFiles()!=null) {
|
if(zenodoItem.getFiles()!=null) {
|
||||||
ArrayList<FileDeposition> listOfFiles = new ArrayList<FileDeposition>(zenodoItem.getFiles().size());
|
ArrayList<FileDeposition> listOfFiles = new ArrayList<FileDeposition>(zenodoItem.getFiles().size());
|
||||||
for (ZenodoFile zf : zenodoItem.getFiles()) {
|
for (ZenodoFile zf : zenodoItem.getFiles()) {
|
||||||
|
@ -51,6 +53,11 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple
|
||||||
}
|
}
|
||||||
zdPreview.setFiles(listOfFiles);
|
zdPreview.setFiles(listOfFiles);
|
||||||
}
|
}
|
||||||
|
//Updating Deposition Metadata
|
||||||
|
ZenodoMetadata metadata = zenodoItem.getMetadata();
|
||||||
|
DepositionMetadata depositionMetadata = zdPreview.getMetadata();
|
||||||
|
depositionMetadata = ItemToZenodoConverter.updateMetadataInfoOfDepositionMetadata(metadata, depositionMetadata);
|
||||||
|
zdPreview.setMetadata(depositionMetadata);
|
||||||
|
|
||||||
//Ckan2ZenodoImpl.publish(item.getItemName());
|
//Ckan2ZenodoImpl.publish(item.getItemName());
|
||||||
//Eventually update values
|
//Eventually update values
|
||||||
|
@ -101,6 +108,7 @@ public class CkanToZenodoPublisherServiceImpl extends RemoteServiceServlet imple
|
||||||
//zdPreview.setFiles(toFilterFiles);
|
//zdPreview.setFiles(toFilterFiles);
|
||||||
ZenodoItem zenodoItem = ItemToZenodoConverter.toZenodoItem(zdPreview);
|
ZenodoItem zenodoItem = ItemToZenodoConverter.toZenodoItem(zdPreview);
|
||||||
zenodoItem.setName(item.getItemName());
|
zenodoItem.setName(item.getItemName());
|
||||||
|
LOG.debug("Returning item: "+zenodoItem);
|
||||||
return zenodoItem;
|
return zenodoItem;
|
||||||
|
|
||||||
// //TO TEST
|
// //TO TEST
|
||||||
|
|
|
@ -9,6 +9,8 @@ import org.gcube.data.publishing.ckan2zenodo.model.zenodo.Creator;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DateInterval;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DateInterval;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.AccessRights;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.AccessRights;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.PublicationType;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.UploadType;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier.Relation;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier.Relation;
|
||||||
|
@ -16,6 +18,7 @@ import org.gcube.data.publishing.ckan2zenodo.model.zenodo.Subject;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.server.CkanToZenodoUtil;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.server.CkanToZenodoUtil;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.SerializableEnum;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.SerializableEnum;
|
||||||
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.LicenseBean;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCommunity;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCommunity;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoContributor;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoContributor;
|
||||||
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoCreator;
|
||||||
|
@ -62,6 +65,8 @@ public class ItemToZenodoConverter {
|
||||||
if(zenodoDeposition==null)
|
if(zenodoDeposition==null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
LOG.debug("Converting item: "+zenodoDeposition);
|
||||||
|
|
||||||
ZenodoItem zi = new ZenodoItem();
|
ZenodoItem zi = new ZenodoItem();
|
||||||
zi.setId(zenodoDeposition.getId());
|
zi.setId(zenodoDeposition.getId());
|
||||||
zi.setDoi(zenodoDeposition.getDoi());
|
zi.setDoi(zenodoDeposition.getDoi());
|
||||||
|
@ -85,6 +90,8 @@ public class ItemToZenodoConverter {
|
||||||
|
|
||||||
zi.setMetadata(toZenodoMetadata(zenodoDeposition.getMetadata()));
|
zi.setMetadata(toZenodoMetadata(zenodoDeposition.getMetadata()));
|
||||||
|
|
||||||
|
LOG.debug("Converted item: "+zi);
|
||||||
|
|
||||||
return zi;
|
return zi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,12 +129,29 @@ public class ItemToZenodoConverter {
|
||||||
zm.setAccess_conditions(depositionMetadata.getAccess_conditions());
|
zm.setAccess_conditions(depositionMetadata.getAccess_conditions());
|
||||||
zm.setDescription(depositionMetadata.getDescription());
|
zm.setDescription(depositionMetadata.getDescription());
|
||||||
|
|
||||||
|
//Access Type
|
||||||
if(depositionMetadata.getAccess_right()!=null) {
|
if(depositionMetadata.getAccess_right()!=null) {
|
||||||
AccessRights[] ar = { depositionMetadata.getAccess_right() };
|
AccessRights[] ar = { depositionMetadata.getAccess_right() };
|
||||||
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(ar, AccessRights.values());
|
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(ar, AccessRights.values());
|
||||||
zm.setAccess_right(sEnum);
|
zm.setAccess_right(sEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Upload Type
|
||||||
|
if(depositionMetadata.getUpload_type()!=null) {
|
||||||
|
UploadType[] upType = { depositionMetadata.getUpload_type() };
|
||||||
|
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(upType, UploadType.values());
|
||||||
|
zm.setUpload_type(sEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Publication Type
|
||||||
|
if(depositionMetadata.getPublication_type()!=null) {
|
||||||
|
PublicationType[] upType = { depositionMetadata.getPublication_type() };
|
||||||
|
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(upType, PublicationType.values());
|
||||||
|
zm.setPublication_type(sEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
zm.setLicense(new LicenseBean(depositionMetadata.getLicense(),depositionMetadata.getLicense(),null)); //HAVE TO BE RIVISITED
|
||||||
|
zm.setKeywords(depositionMetadata.getKeywords());
|
||||||
zm.setCommunities(toZenodoCommunities(depositionMetadata.getCommunities()));
|
zm.setCommunities(toZenodoCommunities(depositionMetadata.getCommunities()));
|
||||||
zm.setConference_acronym(depositionMetadata.getConference_acronym());
|
zm.setConference_acronym(depositionMetadata.getConference_acronym());
|
||||||
zm.setConference_dates(depositionMetadata.getConference_dates());
|
zm.setConference_dates(depositionMetadata.getConference_dates());
|
||||||
|
@ -404,5 +428,36 @@ public class ItemToZenodoConverter {
|
||||||
fileDep.setChecksum(zenodoFile.getChecksum());
|
fileDep.setChecksum(zenodoFile.getChecksum());
|
||||||
return fileDep;
|
return fileDep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update metadata info of deposition metadata.
|
||||||
|
*
|
||||||
|
* @param metadata the metadata
|
||||||
|
* @param depositionMetadata the deposition metadata
|
||||||
|
* @return the deposition metadata
|
||||||
|
*/
|
||||||
|
public static DepositionMetadata updateMetadataInfoOfDepositionMetadata(ZenodoMetadata metadata, DepositionMetadata depositionMetadata) {
|
||||||
|
|
||||||
|
//upload type
|
||||||
|
SerializableEnum<String> uploadType = metadata.getUpload_type();
|
||||||
|
String theUploadTypeValue = uploadType.getSelectedValues().get(0);
|
||||||
|
LOG.debug("Set upload type: "+theUploadTypeValue);
|
||||||
|
depositionMetadata.setUpload_type(UploadType.valueOf(theUploadTypeValue));
|
||||||
|
|
||||||
|
//access right
|
||||||
|
SerializableEnum<String> accessRight = metadata.getAccess_right();
|
||||||
|
String theAccessRightValue = accessRight.getSelectedValues().get(0);
|
||||||
|
LOG.debug("Set access right: "+theAccessRightValue);
|
||||||
|
depositionMetadata.setAccess_right(AccessRights.valueOf(theAccessRightValue));
|
||||||
|
|
||||||
|
//publication type
|
||||||
|
SerializableEnum<String> publicationType = metadata.getPublication_type();
|
||||||
|
String thePublicationTypeValue = publicationType.getSelectedValues().get(0);
|
||||||
|
LOG.debug("Set publication type: "+thePublicationTypeValue);
|
||||||
|
depositionMetadata.setPublication_type(PublicationType.valueOf(thePublicationTypeValue));
|
||||||
|
|
||||||
|
return depositionMetadata;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
package org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A license bean like the ckan's one.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Jan 13, 2020
|
||||||
|
*/
|
||||||
|
public class LicenseBean implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 6618784269251750489L;
|
||||||
|
private String id;
|
||||||
|
private String title;
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new license bean.
|
||||||
|
*/
|
||||||
|
public LicenseBean() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new license bean.
|
||||||
|
*
|
||||||
|
* @param id the id
|
||||||
|
* @param title the title
|
||||||
|
* @param url the url
|
||||||
|
*/
|
||||||
|
public LicenseBean(String id, String title, String url) {
|
||||||
|
super();
|
||||||
|
this.id = id;
|
||||||
|
this.title = title;
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#equals(java.lang.Object)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
return obj.getClass().equals(this.getClass()) && ((LicenseBean)obj).getTitle().equals(this.title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("LicenseBean [id=");
|
||||||
|
builder.append(id);
|
||||||
|
builder.append(", title=");
|
||||||
|
builder.append(title);
|
||||||
|
builder.append(", url=");
|
||||||
|
builder.append(url);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -271,7 +271,38 @@ public class ZenodoItem implements Serializable {
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("ZenodoItem [created=");
|
||||||
|
builder.append(created);
|
||||||
|
builder.append(", doi=");
|
||||||
|
builder.append(doi);
|
||||||
|
builder.append(", files=");
|
||||||
|
builder.append(files);
|
||||||
|
builder.append(", id=");
|
||||||
|
builder.append(id);
|
||||||
|
builder.append(", metadata=");
|
||||||
|
builder.append(metadata);
|
||||||
|
builder.append(", modified=");
|
||||||
|
builder.append(modified);
|
||||||
|
builder.append(", owner=");
|
||||||
|
builder.append(owner);
|
||||||
|
builder.append(", record_id=");
|
||||||
|
builder.append(record_id);
|
||||||
|
builder.append(", record_url=");
|
||||||
|
builder.append(record_url);
|
||||||
|
builder.append(", state=");
|
||||||
|
builder.append(state);
|
||||||
|
builder.append(", submitted=");
|
||||||
|
builder.append(submitted);
|
||||||
|
builder.append(", title=");
|
||||||
|
builder.append(title);
|
||||||
|
builder.append(", name=");
|
||||||
|
builder.append(name);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,8 @@ public class ZenodoMetadata implements Serializable{
|
||||||
private List<ZenodoDateInterval> dates;
|
private List<ZenodoDateInterval> dates;
|
||||||
private String method; //TODO html
|
private String method; //TODO html
|
||||||
|
|
||||||
|
private LicenseBean license; //TODO html
|
||||||
|
|
||||||
|
|
||||||
public ZenodoMetadata(){}
|
public ZenodoMetadata(){}
|
||||||
|
|
||||||
|
@ -500,6 +502,109 @@ public class ZenodoMetadata implements Serializable{
|
||||||
public void setMethod(String method) {
|
public void setMethod(String method) {
|
||||||
this.method = method;
|
this.method = method;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LicenseBean getLicense() {
|
||||||
|
return license;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLicense(LicenseBean license) {
|
||||||
|
this.license = license;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("ZenodoMetadata [upload_type=");
|
||||||
|
builder.append(upload_type);
|
||||||
|
builder.append(", publication_type=");
|
||||||
|
builder.append(publication_type);
|
||||||
|
builder.append(", image_type=");
|
||||||
|
builder.append(image_type);
|
||||||
|
builder.append(", publication_date=");
|
||||||
|
builder.append(publication_date);
|
||||||
|
builder.append(", title=");
|
||||||
|
builder.append(title);
|
||||||
|
builder.append(", creators=");
|
||||||
|
builder.append(creators);
|
||||||
|
builder.append(", description=");
|
||||||
|
builder.append(description);
|
||||||
|
builder.append(", access_right=");
|
||||||
|
builder.append(access_right);
|
||||||
|
builder.append(", embargo_date=");
|
||||||
|
builder.append(embargo_date);
|
||||||
|
builder.append(", access_conditions=");
|
||||||
|
builder.append(access_conditions);
|
||||||
|
builder.append(", doi=");
|
||||||
|
builder.append(doi);
|
||||||
|
builder.append(", preserve_doi=");
|
||||||
|
builder.append(preserve_doi);
|
||||||
|
builder.append(", keywords=");
|
||||||
|
builder.append(keywords);
|
||||||
|
builder.append(", notes=");
|
||||||
|
builder.append(notes);
|
||||||
|
builder.append(", related_identifiers=");
|
||||||
|
builder.append(related_identifiers);
|
||||||
|
builder.append(", contributors=");
|
||||||
|
builder.append(contributors);
|
||||||
|
builder.append(", references=");
|
||||||
|
builder.append(references);
|
||||||
|
builder.append(", communities=");
|
||||||
|
builder.append(communities);
|
||||||
|
builder.append(", grants=");
|
||||||
|
builder.append(grants);
|
||||||
|
builder.append(", journal_title=");
|
||||||
|
builder.append(journal_title);
|
||||||
|
builder.append(", journal_volume=");
|
||||||
|
builder.append(journal_volume);
|
||||||
|
builder.append(", journal_issue=");
|
||||||
|
builder.append(journal_issue);
|
||||||
|
builder.append(", journal_pages=");
|
||||||
|
builder.append(journal_pages);
|
||||||
|
builder.append(", conference_title=");
|
||||||
|
builder.append(conference_title);
|
||||||
|
builder.append(", conference_acronym=");
|
||||||
|
builder.append(conference_acronym);
|
||||||
|
builder.append(", conference_dates=");
|
||||||
|
builder.append(conference_dates);
|
||||||
|
builder.append(", conference_place=");
|
||||||
|
builder.append(conference_place);
|
||||||
|
builder.append(", conference_url=");
|
||||||
|
builder.append(conference_url);
|
||||||
|
builder.append(", conference_session=");
|
||||||
|
builder.append(conference_session);
|
||||||
|
builder.append(", conference_session_part=");
|
||||||
|
builder.append(conference_session_part);
|
||||||
|
builder.append(", imprint_publisher=");
|
||||||
|
builder.append(imprint_publisher);
|
||||||
|
builder.append(", imprint_isbn=");
|
||||||
|
builder.append(imprint_isbn);
|
||||||
|
builder.append(", imprint_place=");
|
||||||
|
builder.append(imprint_place);
|
||||||
|
builder.append(", partof_title=");
|
||||||
|
builder.append(partof_title);
|
||||||
|
builder.append(", partof_pages=");
|
||||||
|
builder.append(partof_pages);
|
||||||
|
builder.append(", thesis_supervisors=");
|
||||||
|
builder.append(thesis_supervisors);
|
||||||
|
builder.append(", thesis_university=");
|
||||||
|
builder.append(thesis_university);
|
||||||
|
builder.append(", subjects=");
|
||||||
|
builder.append(subjects);
|
||||||
|
builder.append(", version=");
|
||||||
|
builder.append(version);
|
||||||
|
builder.append(", language=");
|
||||||
|
builder.append(language);
|
||||||
|
builder.append(", locations=");
|
||||||
|
builder.append(locations);
|
||||||
|
builder.append(", dates=");
|
||||||
|
builder.append(dates);
|
||||||
|
builder.append(", method=");
|
||||||
|
builder.append(method);
|
||||||
|
builder.append(", license=");
|
||||||
|
builder.append(license);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue