94 lines
2.4 KiB
Java
94 lines
2.4 KiB
Java
package org.gcube.portlets.widgets.ckan2zenodopublisher.client;
|
|
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.AccordionBasicPanel;
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.BasicInformationView;
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.Ckan2ZenodoViewManager;
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.CatalogueItem;
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
|
|
|
import com.github.gwtbootstrap.client.ui.Modal;
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
|
|
/**
|
|
* The Class CkanToZendoPublisherWidget.
|
|
*
|
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
|
*
|
|
* Dec 9, 2019
|
|
*/
|
|
public class CkanToZendoPublisherWidget {
|
|
|
|
private final CkanToZenodoPublisherServiceAsync ckanToZenodoService = CkanToZenodoPublisherServiceAsync.Util
|
|
.getInstance();
|
|
|
|
/**
|
|
* Instantiates a new ckan to zendo publisher widget.
|
|
*/
|
|
public CkanToZendoPublisherWidget() {
|
|
|
|
}
|
|
|
|
/**
|
|
* Publish on zenodo.
|
|
*
|
|
* @param item the item
|
|
*/
|
|
public void publishOnZenodo(final CatalogueItem item) {
|
|
|
|
ckanToZenodoService.convertToZenodoItem(item, new AsyncCallback<ZenodoItem>() {
|
|
|
|
@Override
|
|
public void onFailure(Throwable caught) {
|
|
}
|
|
|
|
@Override
|
|
public void onSuccess(ZenodoItem result) {
|
|
Modal modal = new Modal(true);
|
|
Ckan2ZenodoViewManager manager = new Ckan2ZenodoViewManager();
|
|
AccordionBasicPanel theForm = manager.viewForPublishing(result);
|
|
// BasicInformationView form = new BasicInformationView(result) {
|
|
//
|
|
//
|
|
// @Override
|
|
// public void submitHandler() {
|
|
// }
|
|
//
|
|
// @Override
|
|
// public void setError(boolean visible, String error) {
|
|
// }
|
|
//
|
|
// @Override
|
|
// public void setConfirm(boolean visible, String msg) {
|
|
// }
|
|
// };
|
|
modal.setTitle("Publishing on Zenodo...");
|
|
modal.addStyleName("ckan2zenodo-modal-style");
|
|
modal.setCloseVisible(true);
|
|
modal.add(theForm);
|
|
modal.show();
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* To zenodo item.
|
|
*
|
|
* @param item the item
|
|
*/
|
|
private void toZenodoItem(CatalogueItem item) {
|
|
|
|
ckanToZenodoService.convertToZenodoItem(item, new AsyncCallback<ZenodoItem>() {
|
|
|
|
@Override
|
|
public void onFailure(Throwable caught) {
|
|
}
|
|
|
|
@Override
|
|
public void onSuccess(ZenodoItem result) {
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|