2017-03-08 18:13:33 +01:00
|
|
|
package org.gcube.portlets.widgets.dataminermanagerwidget.client.dataspace;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
2018-06-27 12:44:27 +02:00
|
|
|
import org.gcube.data.analysis.dataminermanagercl.shared.workspace.ItemDescription;
|
2017-03-08 18:13:33 +01:00
|
|
|
import org.gcube.portal.clientcontext.client.GCubeClientContext;
|
2017-03-10 20:10:42 +01:00
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.DataMinerManagerPanel;
|
2017-03-08 18:13:33 +01:00
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.common.EventBusProvider;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DataMinerWorkAreaEvent;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.DeleteItemRequestEvent;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.RefreshDataMinerWorkAreaEvent;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SessionExpiredEvent;
|
2018-06-28 11:09:01 +02:00
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.SyncRefreshUploadDataSpaceEvent;
|
2017-03-08 18:13:33 +01:00
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.events.UIStateEvent;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.rpc.DataMinerPortletServiceAsync;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.type.DataMinerWorkAreaElementType;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.client.util.UtilsGXT3;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.Constants;
|
|
|
|
import org.gcube.portlets.widgets.dataminermanagerwidget.shared.exception.SessionExpiredServiceException;
|
|
|
|
import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener;
|
|
|
|
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.DialogUpload.UPLOAD_TYPE;
|
|
|
|
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload;
|
2018-06-28 11:09:01 +02:00
|
|
|
import org.gcube.portlets.widgets.wsexplorer.client.explore.WorkspaceResourcesExplorerPanel;
|
2017-03-08 18:13:33 +01:00
|
|
|
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
|
|
|
import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD;
|
|
|
|
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
|
|
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
|
|
|
|
|
|
|
import com.allen_sauer.gwt.log.client.Log;
|
|
|
|
import com.google.gwt.core.client.GWT;
|
|
|
|
import com.google.gwt.event.logical.shared.ResizeEvent;
|
|
|
|
import com.google.gwt.event.logical.shared.ResizeHandler;
|
|
|
|
import com.google.gwt.user.client.Window;
|
|
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
|
|
import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale;
|
|
|
|
import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
|
|
|
|
import com.sencha.gxt.core.client.util.Margins;
|
|
|
|
import com.sencha.gxt.widget.core.client.FramedPanel;
|
|
|
|
import com.sencha.gxt.widget.core.client.button.TextButton;
|
|
|
|
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData;
|
|
|
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
|
|
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
|
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
|
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
|
|
|
|
import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
2017-05-10 16:04:24 +02:00
|
|
|
* @author Giancarlo Panichi
|
|
|
|
*
|
2017-03-08 18:13:33 +01:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class OutputDataSetsPanel extends FramedPanel {
|
|
|
|
|
2018-06-28 11:09:01 +02:00
|
|
|
|
2017-03-08 18:13:33 +01:00
|
|
|
private Item selectedItem;
|
|
|
|
private MultipleDNDUpload dnd;
|
2018-06-28 11:09:01 +02:00
|
|
|
// private WorkspaceResourcesExplorerPanelPaginated
|
|
|
|
// wsResourcesExplorerPanel;
|
|
|
|
private WorkspaceResourcesExplorerPanel wsResourcesExplorerPanel;
|
2017-03-08 18:13:33 +01:00
|
|
|
private TextButton btnDownload;
|
|
|
|
private TextButton btnDelete;
|
|
|
|
private TextButton btnRefresh;
|
|
|
|
private VerticalLayoutContainer v;
|
|
|
|
|
|
|
|
public OutputDataSetsPanel() {
|
|
|
|
super();
|
|
|
|
Log.debug("OutputDataSetsPanel");
|
|
|
|
|
|
|
|
// msgs = GWT.create(ServiceCategoryMessages.class);
|
|
|
|
init();
|
|
|
|
bindToEvents();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private void init() {
|
|
|
|
setItemId("OutputDataSetsPanel");
|
|
|
|
forceLayoutOnResize = true;
|
|
|
|
setBodyBorder(false);
|
|
|
|
setBorders(false);
|
|
|
|
setHeaderVisible(false);
|
|
|
|
setResize(true);
|
|
|
|
setAnimCollapse(false);
|
2018-06-28 11:09:01 +02:00
|
|
|
setCollapsible(false);
|
2017-03-08 18:13:33 +01:00
|
|
|
setHeadingText("Output Data Sets");
|
|
|
|
setBodyStyle("backgroundColor:white;");
|
|
|
|
}
|
|
|
|
|
|
|
|
private void bindToEvents() {
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
EventBusProvider.INSTANCE.addHandler(UIStateEvent.TYPE, new UIStateEvent.UIStateEventHandler() {
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
@Override
|
|
|
|
public void onChange(UIStateEvent event) {
|
|
|
|
manageStateEvents(event);
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
}
|
|
|
|
});
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
EventBusProvider.INSTANCE.addHandler(DataMinerWorkAreaEvent.TYPE,
|
|
|
|
new DataMinerWorkAreaEvent.DataMinerWorkAreaEventHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onChange(DataMinerWorkAreaEvent event) {
|
|
|
|
manageDataMinerWorkAreaEvents(event);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
EventBusProvider.INSTANCE.addHandler(RefreshDataMinerWorkAreaEvent.TYPE,
|
|
|
|
new RefreshDataMinerWorkAreaEvent.RefreshDataMinerWorkAreaEventHandler() {
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
@Override
|
|
|
|
public void onRefresh(RefreshDataMinerWorkAreaEvent event) {
|
|
|
|
manageRefreshDataMinerWorkAreaEvents(event);
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
}
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
});
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-28 11:09:01 +02:00
|
|
|
EventBusProvider.INSTANCE.addHandler(SyncRefreshUploadDataSpaceEvent.TYPE,
|
|
|
|
new SyncRefreshUploadDataSpaceEvent.SyncRefreshUploadDataSpaceEventHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onRefresh(SyncRefreshUploadDataSpaceEvent event) {
|
|
|
|
manageSyncRefreshUploadDataSpaceEvents();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
private void manageStateEvents(UIStateEvent event) {
|
|
|
|
Log.debug("OutputDataSetsPanel recieved UIStateEvent: " + event);
|
|
|
|
if (event == null) {
|
|
|
|
Log.error("UIStateEvent");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
switch (event.getUiStateType()) {
|
|
|
|
case START:
|
|
|
|
break;
|
|
|
|
case WAITING:
|
|
|
|
break;
|
|
|
|
case UPDATE:
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void manageDataMinerWorkAreaEvents(DataMinerWorkAreaEvent event) {
|
2018-06-27 11:03:54 +02:00
|
|
|
Log.debug("OutputDataSetsPanel recieved DataMinerWorkAreaEvent: " + event);
|
2017-03-08 18:13:33 +01:00
|
|
|
if (event == null) {
|
|
|
|
Log.error("DataMinerWorkAreaEvent");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
switch (event.getDataMinerWorkAreaRegionType()) {
|
|
|
|
case Computations:
|
|
|
|
break;
|
|
|
|
case DataSets:
|
|
|
|
manageMyDataMinerWorkAreaEvents(event);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void manageMyDataMinerWorkAreaEvents(DataMinerWorkAreaEvent event) {
|
|
|
|
switch (event.getDataMinerWorkAreaEventType()) {
|
|
|
|
case OPEN:
|
|
|
|
case UPDATE:
|
|
|
|
refreshWSResourceExplorerPanel(event);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
private void manageRefreshDataMinerWorkAreaEvents(RefreshDataMinerWorkAreaEvent event) {
|
|
|
|
Log.debug("OutputDataSetsPanel recieved RefreshDataMinerWorkAreaEvent: " + event);
|
2017-03-08 18:13:33 +01:00
|
|
|
if (event == null) {
|
|
|
|
Log.error("RefreshDataMinerWorkAreaEvent");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
switch (event.getDataMinerWorkAreaElementType()) {
|
|
|
|
case Computations:
|
|
|
|
break;
|
|
|
|
case InputDataSets:
|
|
|
|
break;
|
|
|
|
case OutputDataSets:
|
|
|
|
refreshWSResourceExplorerPanel();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2018-06-28 11:09:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
private void manageSyncRefreshUploadDataSpaceEvents() {
|
|
|
|
Log.debug("OutputDataSetsPanel received SyncRefreshUploadDataSpaceEvents: ");
|
|
|
|
refreshWSResourceExplorerPanel();
|
|
|
|
}
|
|
|
|
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
private void create(DataMinerWorkAreaEvent event) {
|
2018-06-27 11:03:54 +02:00
|
|
|
Log.debug("Create OutputDataSetsPanel");
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("DataMinerWorkAreaEvent: " + event);
|
2017-03-08 18:13:33 +01:00
|
|
|
try {
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
if (event == null || event.getDataMinerWorkArea() == null
|
2017-03-08 18:13:33 +01:00
|
|
|
|| event.getDataMinerWorkArea().getOutputDataSets() == null
|
2018-06-27 11:03:54 +02:00
|
|
|
|| event.getDataMinerWorkArea().getOutputDataSets().getFolder() == null
|
|
|
|
|| event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId() == null
|
|
|
|
|| event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId().isEmpty()) {
|
2017-03-08 18:13:33 +01:00
|
|
|
if (v != null) {
|
|
|
|
remove(v);
|
|
|
|
forceLayout();
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
List<String> showProperties = new ArrayList<String>();
|
2018-06-27 11:03:54 +02:00
|
|
|
for (DataSpacePropertiesType dataSpaceProperties : DataSpacePropertiesType.values()) {
|
2017-03-08 18:13:33 +01:00
|
|
|
showProperties.add(dataSpaceProperties.getLabel());
|
|
|
|
}
|
|
|
|
FilterCriteria filterCriteria = new FilterCriteria();
|
|
|
|
Map<String, String> map = new HashMap<String, String>();
|
|
|
|
filterCriteria.setRequiredProperties(map);
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
Log.debug("Create wsResourcesExplorerPanel for Output: ["
|
|
|
|
+ event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId() + ", false, "
|
|
|
|
+ showProperties + ", " + filterCriteria + ", true, " + DISPLAY_FIELD.CREATION_DATE + "]");
|
2018-06-28 11:09:01 +02:00
|
|
|
|
|
|
|
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
|
2018-06-27 11:03:54 +02:00
|
|
|
event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId(), false, showProperties,
|
2017-03-08 18:13:33 +01:00
|
|
|
filterCriteria, true, DISPLAY_FIELD.CREATION_DATE);
|
|
|
|
|
|
|
|
WorskpaceExplorerSelectNotificationListener wsResourceExplorerListener = new WorskpaceExplorerSelectNotificationListener() {
|
|
|
|
@Override
|
|
|
|
public void onSelectedItem(Item item) {
|
|
|
|
Log.debug("Listener Selected Item " + item);
|
|
|
|
selectedItem = item;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFailed(Throwable throwable) {
|
|
|
|
Log.error(throwable.getLocalizedMessage());
|
|
|
|
throwable.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onAborted() {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onNotValidSelection() {
|
|
|
|
selectedItem = null;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
wsResourcesExplorerPanel.addWorkspaceExplorerSelectNotificationListener(wsResourceExplorerListener);
|
|
|
|
wsResourcesExplorerPanel.ensureDebugId("wsResourceExplorerPanelForOutput");
|
2017-03-08 18:13:33 +01:00
|
|
|
wsResourcesExplorerPanel.setHeightToInternalScroll(300);
|
|
|
|
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("Define DND for OutputDataSetsPanel");
|
2018-06-27 11:03:54 +02:00
|
|
|
|
2017-03-08 18:13:33 +01:00
|
|
|
// DND
|
|
|
|
dnd = new MultipleDNDUpload();
|
2018-06-28 11:09:01 +02:00
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
dnd.setParameters(event.getDataMinerWorkArea().getOutputDataSets().getFolder().getId(), UPLOAD_TYPE.File);
|
2017-03-08 18:13:33 +01:00
|
|
|
dnd.addUniqueContainer(wsResourcesExplorerPanel);
|
2018-06-28 11:09:01 +02:00
|
|
|
WorskpaceUploadNotificationListener workspaceUploaderListenerOutputDataSetsPanel = new WorskpaceUploadNotificationListener() {
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onUploadCompleted(String parentId, String itemId) {
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("OutputDataSetsPanel Upload completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
|
|
|
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
|
|
|
|
EventBusProvider.INSTANCE.fireEvent(ev);
|
|
|
|
//wsResourcesExplorerPanel.refreshRootFolderView();
|
|
|
|
//forceLayout();
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onUploadAborted(String parentId, String itemId) {
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("OutputDataSetsPanel Upload Aborted: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2018-06-27 11:03:54 +02:00
|
|
|
public void onError(String parentId, String itemId, Throwable throwable) {
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("OutputDataSetsPanel Upload Error: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
2017-03-08 18:13:33 +01:00
|
|
|
throwable.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onOverwriteCompleted(String parentId, String itemId) {
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("OutputDataSetsPanel Upload Override Completed: [parentID: " + parentId + ", itemId: " + itemId + "]");
|
|
|
|
SyncRefreshUploadDataSpaceEvent ev=new SyncRefreshUploadDataSpaceEvent();
|
|
|
|
EventBusProvider.INSTANCE.fireEvent(ev);
|
|
|
|
//wsResourcesExplorerPanel.refreshRootFolderView();
|
|
|
|
//forceLayout();
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2018-06-28 11:09:01 +02:00
|
|
|
dnd.addWorkspaceUploadNotificationListener(workspaceUploaderListenerOutputDataSetsPanel);
|
2017-03-08 18:13:33 +01:00
|
|
|
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.debug("Create ToolBar for OutputDatasetsPanel");
|
2017-03-08 18:13:33 +01:00
|
|
|
// ToolBar
|
|
|
|
btnDownload = new TextButton("Download");
|
2017-03-10 20:10:42 +01:00
|
|
|
btnDownload.setIcon(DataMinerManagerPanel.resources.download());
|
2017-03-08 18:13:33 +01:00
|
|
|
btnDownload.setScale(ButtonScale.SMALL);
|
|
|
|
btnDownload.setIconAlign(IconAlign.LEFT);
|
|
|
|
btnDownload.setToolTip("Download");
|
|
|
|
btnDownload.addSelectHandler(new SelectHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSelect(SelectEvent event) {
|
|
|
|
downloadFile();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
btnDelete = new TextButton("Delete");
|
2017-03-10 20:10:42 +01:00
|
|
|
btnDelete.setIcon(DataMinerManagerPanel.resources.deleteCircle());
|
2017-03-08 18:13:33 +01:00
|
|
|
btnDelete.setScale(ButtonScale.SMALL);
|
|
|
|
btnDelete.setIconAlign(IconAlign.LEFT);
|
|
|
|
btnDelete.setToolTip("Delete");
|
|
|
|
btnDelete.addSelectHandler(new SelectHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSelect(SelectEvent event) {
|
|
|
|
deleteItem(event);
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
btnRefresh = new TextButton("Refresh");
|
2017-03-10 20:10:42 +01:00
|
|
|
btnRefresh.setIcon(DataMinerManagerPanel.resources.refresh());
|
2017-03-08 18:13:33 +01:00
|
|
|
btnRefresh.setScale(ButtonScale.SMALL);
|
|
|
|
btnRefresh.setIconAlign(IconAlign.LEFT);
|
|
|
|
btnRefresh.setToolTip("Refresh");
|
|
|
|
btnRefresh.addSelectHandler(new SelectHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSelect(SelectEvent event) {
|
|
|
|
refreshWSResourceExplorerPanel();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
final ToolBar toolBar = new ToolBar();
|
|
|
|
toolBar.add(btnDownload, new BoxLayoutData(new Margins(0)));
|
|
|
|
toolBar.add(btnDelete, new BoxLayoutData(new Margins(0)));
|
|
|
|
toolBar.add(btnRefresh, new BoxLayoutData(new Margins(0)));
|
|
|
|
|
|
|
|
v = new VerticalLayoutContainer();
|
2018-06-28 11:09:01 +02:00
|
|
|
v.setItemId("OutputDataSetsPanelVert");
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
v.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0)));
|
|
|
|
v.add(dnd, new VerticalLayoutData(1, 1, new Margins(0)));
|
|
|
|
add(v);
|
|
|
|
|
|
|
|
v.addResizeHandler(new ResizeHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onResize(ResizeEvent event) {
|
2018-06-27 11:03:54 +02:00
|
|
|
int scrollBarHeight = event.getHeight() - toolBar.getElement().getHeight(false);
|
2017-03-08 18:13:33 +01:00
|
|
|
Log.debug("ScrollBarHeight: " + scrollBarHeight);
|
2018-06-27 11:03:54 +02:00
|
|
|
wsResourcesExplorerPanel.setHeightToInternalScroll(scrollBarHeight);
|
2017-03-08 18:13:33 +01:00
|
|
|
forceLayout();
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
forceLayout();
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
} catch (Throwable e) {
|
|
|
|
Log.error("Error opening wsResourceExplorerPanel: " + e.getLocalizedMessage(), e);
|
2017-03-08 18:13:33 +01:00
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void refreshWSResourceExplorerPanel() {
|
|
|
|
if (wsResourcesExplorerPanel != null) {
|
2018-06-27 11:03:54 +02:00
|
|
|
try {
|
|
|
|
wsResourcesExplorerPanel.refreshRootFolderView();
|
|
|
|
} catch (Exception e) {
|
|
|
|
Log.error("Error retrieving data: " + e.getLocalizedMessage());
|
|
|
|
|
|
|
|
}
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void refreshWSResourceExplorerPanel(DataMinerWorkAreaEvent event) {
|
|
|
|
try {
|
|
|
|
|
|
|
|
if (v != null) {
|
|
|
|
remove(v);
|
|
|
|
create(event);
|
|
|
|
} else {
|
|
|
|
create(event);
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Throwable e) {
|
2018-06-27 11:03:54 +02:00
|
|
|
Log.error("Error in OutputDataSetsPanel: " + e.getLocalizedMessage());
|
2017-03-08 18:13:33 +01:00
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void deleteItem(SelectEvent event) {
|
2018-06-27 11:03:54 +02:00
|
|
|
Log.debug("Selected Item: " + selectedItem);
|
|
|
|
if (selectedItem != null) {
|
|
|
|
|
|
|
|
ItemDescription itemDescription = new ItemDescription(selectedItem.getId(), selectedItem.getName(),
|
|
|
|
selectedItem.getOwner(), selectedItem.getPath(), selectedItem.getType().name());
|
|
|
|
DeleteItemRequestEvent deleteItemEvent = new DeleteItemRequestEvent(
|
|
|
|
DataMinerWorkAreaElementType.OutputDataSets, itemDescription);
|
|
|
|
EventBusProvider.INSTANCE.fireEvent(deleteItemEvent);
|
|
|
|
Log.debug("Fired: " + deleteItemEvent);
|
|
|
|
} else {
|
|
|
|
UtilsGXT3.info("Attention", "Select a item!");
|
|
|
|
}
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
private void downloadFile() {
|
|
|
|
if (selectedItem != null) {
|
|
|
|
if (selectedItem.isFolder()) {
|
|
|
|
StringBuilder actionUrl = new StringBuilder();
|
|
|
|
actionUrl.append(GWT.getModuleBaseURL());
|
2018-06-27 11:03:54 +02:00
|
|
|
actionUrl.append(Constants.DOWNLOAD_FOLDER_SERVLET + "?"
|
|
|
|
+ Constants.DOWNLOAD_FOLDER_SERVLET_ITEM_ID_PARAMETER + "=" + selectedItem.getId() + "&"
|
|
|
|
+ Constants.DOWNLOAD_FOLDER_SERVLET_FOLDER_NAME_PARAMETER + "=" + selectedItem.getName() + "&"
|
|
|
|
+ Constants.CURR_GROUP_ID + "=" + GCubeClientContext.getCurrentContextId());
|
2017-03-08 18:13:33 +01:00
|
|
|
|
|
|
|
Log.debug("Retrieved link: " + actionUrl);
|
|
|
|
Window.open(actionUrl.toString(), selectedItem.getName(), "");
|
|
|
|
} else {
|
2018-06-27 11:03:54 +02:00
|
|
|
final ItemDescription itemDescription = new ItemDescription(selectedItem.getId(),
|
|
|
|
selectedItem.getName(), selectedItem.getOwner(), selectedItem.getPath(),
|
2017-03-08 18:13:33 +01:00
|
|
|
selectedItem.getType().name());
|
|
|
|
|
2018-06-27 11:03:54 +02:00
|
|
|
DataMinerPortletServiceAsync.INSTANCE.getPublicLink(itemDescription, new AsyncCallback<String>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFailure(Throwable caught) {
|
|
|
|
if (caught instanceof SessionExpiredServiceException) {
|
|
|
|
EventBusProvider.INSTANCE.fireEvent(new SessionExpiredEvent());
|
|
|
|
} else {
|
2018-06-28 11:09:01 +02:00
|
|
|
Log.error("Error open file: " + caught.getLocalizedMessage(), caught);
|
2018-06-27 11:03:54 +02:00
|
|
|
UtilsGXT3.alert("Error", caught.getLocalizedMessage());
|
|
|
|
}
|
|
|
|
caught.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSuccess(String link) {
|
|
|
|
Log.debug("Retrieved link: " + link);
|
|
|
|
Window.open(link, itemDescription.getName(), "");
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
2017-03-08 18:13:33 +01:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
UtilsGXT3.info("Attention", "Select a file!");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|