428: TDM - Support the new Workspace Explorer
Task-Url: https://support.d4science.org/issues/428 Updated support to workspace explorer git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-codelistmapping-import-widget@117641 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
60a6c072a2
commit
a7b3f43ece
9
pom.xml
9
pom.xml
|
@ -133,10 +133,11 @@
|
||||||
<!-- WSLT dependencies -->
|
<!-- WSLT dependencies -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>workspace-light-tree</artifactId>
|
<artifactId>workspace-explorer</artifactId>
|
||||||
<version>[2.13.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.common</groupId>
|
<groupId>org.gcube.common</groupId>
|
||||||
<artifactId>home-library</artifactId>
|
<artifactId>home-library</artifactId>
|
||||||
|
@ -166,9 +167,9 @@
|
||||||
<version>4.8.1</version>
|
<version>4.8.1</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<!-- Generate compiled stuff in the folder used for developing mode -->
|
<!-- Generate compiled stuff in the folder used for developing mode -->
|
||||||
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
|
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
*/
|
*/
|
||||||
package org.gcube.portlets.user.td.codelistmappingimportwidget.client;
|
package org.gcube.portlets.user.td.codelistmappingimportwidget.client;
|
||||||
|
|
||||||
import org.gcube.portlets.user.td.codelistmappingimportwidget.client.workspace.WorkspacePanel;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.codelisthelper.CodelistMappingSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.codelisthelper.CodelistMappingSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException;
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException;
|
||||||
|
@ -12,15 +16,18 @@ import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpire
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
|
||||||
import org.gcube.portlets.user.td.wizardwidget.client.WizardCard;
|
import org.gcube.portlets.user.td.wizardwidget.client.WizardCard;
|
||||||
import org.gcube.portlets.widgets.lighttree.client.Item;
|
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
|
||||||
import org.gcube.portlets.widgets.lighttree.client.ItemType;
|
import org.gcube.portlets.widgets.wsexplorer.client.select.WorkspaceExplorerSelectPanel;
|
||||||
import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionEvent;
|
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
|
||||||
import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionHandler;
|
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
|
||||||
|
import org.gcube.portlets.widgets.wsexplorer.shared.ItemType;
|
||||||
|
|
||||||
import com.allen_sauer.gwt.log.client.Log;
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
import com.google.gwt.user.client.Command;
|
import com.google.gwt.user.client.Command;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
|
import com.sencha.gxt.core.client.util.Margins;
|
||||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
||||||
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -30,12 +37,17 @@ import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
||||||
*/
|
*/
|
||||||
public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
|
|
||||||
protected CodelistMappingSession codelistMappingSession;
|
/*
|
||||||
protected CodelistMappingWorkSpaceSelectionCard thisCard;
|
public interface HtmlLayoutContainerTemplate extends XTemplates {
|
||||||
|
@XTemplate("<div class=\"wspaceSelectionCard\" style=\"margin:auto;padding:auto;\"></div>")
|
||||||
|
SafeHtml getTemplate();
|
||||||
|
}*/
|
||||||
|
|
||||||
protected Item item;
|
private CodelistMappingSession codelistMappingSession;
|
||||||
protected VerticalLayoutContainer p;
|
private CodelistMappingWorkSpaceSelectionCard thisCard;
|
||||||
protected WorkspacePanel wpanel;
|
|
||||||
|
private VerticalLayoutContainer p;
|
||||||
|
private WorkspaceExplorerSelectPanel wpanel;
|
||||||
|
|
||||||
public CodelistMappingWorkSpaceSelectionCard(
|
public CodelistMappingWorkSpaceSelectionCard(
|
||||||
final CodelistMappingSession codelistMappingSession) {
|
final CodelistMappingSession codelistMappingSession) {
|
||||||
|
@ -44,23 +56,38 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
this.codelistMappingSession = codelistMappingSession;
|
this.codelistMappingSession = codelistMappingSession;
|
||||||
thisCard = this;
|
thisCard = this;
|
||||||
|
|
||||||
|
|
||||||
|
/*HtmlLayoutContainerTemplate templates = GWT
|
||||||
|
.create(HtmlLayoutContainerTemplate.class);
|
||||||
|
|
||||||
|
HtmlLayoutContainer htmlLayoutContainer = new HtmlLayoutContainer(
|
||||||
|
templates.getTemplate());
|
||||||
|
htmlLayoutContainer.add(button1, new HtmlData(".wspaceSelectionCard"));*/
|
||||||
|
|
||||||
p = new VerticalLayoutContainer();
|
p = new VerticalLayoutContainer();
|
||||||
|
|
||||||
Log.debug("Set Workspace Panel");
|
Log.debug("Set Workspace Panel");
|
||||||
wpanel = new WorkspacePanel();
|
List<ItemType> selectableTypes = new ArrayList<ItemType>();
|
||||||
wpanel.setSpWidth("536px");
|
selectableTypes.add(ItemType.EXTERNAL_FILE);
|
||||||
wpanel.setSpHeight("384px");
|
List<ItemType> showableTypes = new ArrayList<ItemType>();
|
||||||
// wpanel.setShowableTypes(ItemType.EXTERNAL_FILE);
|
showableTypes.addAll(Arrays.asList(ItemType.values()));
|
||||||
wpanel.setSelectableTypes(ItemType.EXTERNAL_FILE);
|
|
||||||
wpanel.getSelectableTypes().remove(ItemType.ROOT);
|
|
||||||
wpanel.getSelectableTypes().remove(ItemType.FOLDER);
|
|
||||||
wpanel.setAllowedMimeTypes("application/xml", "application/zip",
|
|
||||||
"application/x-zip", "application/x-zip-compressed",
|
|
||||||
"application/octet", "application/octet-stream");
|
|
||||||
wpanel.addSelectionHandler(new ItemSelectionHandler() {
|
|
||||||
|
|
||||||
public void onSelection(ItemSelectionEvent event) {
|
List<String> allowedMimeTypes = Arrays.asList("application/xml",
|
||||||
item = event.getSelectedItem();
|
"application/zip", "application/x-zip",
|
||||||
|
"application/x-zip-compressed", "application/octet",
|
||||||
|
"application/octet-stream");
|
||||||
|
List<String> allowedFileExtensions = Arrays.asList("xml", "zip");
|
||||||
|
|
||||||
|
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,
|
||||||
|
allowedFileExtensions, new HashMap<String, String>());
|
||||||
|
|
||||||
|
wpanel = new WorkspaceExplorerSelectPanel(new String(
|
||||||
|
"Workspace Selection"), filterCriteria);
|
||||||
|
|
||||||
|
WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSelectedItem(Item item) {
|
||||||
Log.debug("Selected Item:" + item);
|
Log.debug("Selected Item:" + item);
|
||||||
if (item.getType() == ItemType.EXTERNAL_FILE) {
|
if (item.getType() == ItemType.EXTERNAL_FILE) {
|
||||||
String filename = item.getName();
|
String filename = item.getName();
|
||||||
|
@ -80,10 +107,29 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
Log.debug("Item type:" + item.getType());
|
Log.debug("Item type:" + item.getType());
|
||||||
getWizardWindow().setEnableNextButton(false);
|
getWizardWindow().setEnableNextButton(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
p.add(wpanel);
|
@Override
|
||||||
wpanel.loadTree();
|
public void onFailed(Throwable throwable) {
|
||||||
|
Log.error("Error in workspaceExplorer: "
|
||||||
|
+ throwable.getLocalizedMessage());
|
||||||
|
throwable.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAborted() {
|
||||||
|
Log.debug("WorkspaceExplorer Aborted");
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
wpanel.addWorkspaceExplorerSelectNotificationListener(handler);
|
||||||
|
|
||||||
|
p.add(wpanel, new VerticalLayoutData(1, 1, new Margins(0)));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setContent(p);
|
setContent(p);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -96,8 +142,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
public void execute() {
|
public void execute() {
|
||||||
Log.debug("CodelistMappingWorkSpaceSelectionCard Call sayNextCard wpanel:"
|
Log.debug("CodelistMappingWorkSpaceSelectionCard Call sayNextCard wpanel:"
|
||||||
+ wpanel);
|
+ wpanel);
|
||||||
wpanel.disable();
|
|
||||||
wpanel.startWaiting();
|
|
||||||
getWizardWindow().setEnableNextButton(false);
|
getWizardWindow().setEnableNextButton(false);
|
||||||
getWizardWindow().setEnableBackButton(false);
|
getWizardWindow().setEnableBackButton(false);
|
||||||
getFileFromWorkspace();
|
getFileFromWorkspace();
|
||||||
|
@ -130,7 +174,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
new AsyncCallback<Void>() {
|
new AsyncCallback<Void>() {
|
||||||
|
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
wpanel.endWaiting();
|
|
||||||
if (caught instanceof TDGWTSessionExpiredException) {
|
if (caught instanceof TDGWTSessionExpiredException) {
|
||||||
getEventBus()
|
getEventBus()
|
||||||
.fireEvent(
|
.fireEvent(
|
||||||
|
@ -160,7 +203,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSuccess(Void result) {
|
public void onSuccess(Void result) {
|
||||||
wpanel.endWaiting();
|
|
||||||
goNext();
|
goNext();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
package org.gcube.portlets.user.td.codelistmappingimportwidget.client.workspace;
|
|
||||||
|
|
||||||
import org.gcube.portlets.widgets.lighttree.client.WorkspaceLightTreePanel;
|
|
||||||
|
|
||||||
import com.allen_sauer.gwt.log.client.Log;
|
|
||||||
import com.sencha.gxt.widget.core.client.box.AutoProgressMessageBox;
|
|
||||||
import com.sencha.gxt.widget.core.client.event.DisableEvent;
|
|
||||||
import com.sencha.gxt.widget.core.client.event.EnableEvent;
|
|
||||||
|
|
||||||
public class WorkspacePanel extends WorkspaceLightTreePanel {
|
|
||||||
|
|
||||||
AutoProgressMessageBox box;
|
|
||||||
|
|
||||||
public void setSpWidth(String w) {
|
|
||||||
sp.setWidth(w);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSpHeight(String h) {
|
|
||||||
sp.setHeight(h);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void disable() {
|
|
||||||
Log.debug("WorkspacePanel Disable");
|
|
||||||
fireEvent(new DisableEvent());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void enable() {
|
|
||||||
Log.debug("WorkspacePanel Enable");
|
|
||||||
fireEvent(new EnableEvent());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void startWaiting() {
|
|
||||||
box= new AutoProgressMessageBox("Loading",
|
|
||||||
"Retriving data from workspace, please wait...");
|
|
||||||
box.setProgressText("Loading...");
|
|
||||||
box.setModal(false);
|
|
||||||
box.auto();
|
|
||||||
box.show();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void endWaiting() {
|
|
||||||
box.hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -21,8 +21,8 @@
|
||||||
<inherits name='org.gcube.portlets.user.td.wizardwidget.Wizard' />
|
<inherits name='org.gcube.portlets.user.td.wizardwidget.Wizard' />
|
||||||
<inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' />
|
<inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' />
|
||||||
|
|
||||||
<inherits name='org.gcube.portlets.widgets.lighttree.WorkspacePortletLightTree' />
|
<inherits name='org.gcube.portlets.widgets.wsexplorer.WorkspaceExplorer' />
|
||||||
|
|
||||||
|
|
||||||
<!-- Specify the app entry point class. -->
|
<!-- Specify the app entry point class. -->
|
||||||
<!-- <entry-point class='org.gcube.portlets.user.SDMXImportWizardTD.client.SDMXImportWizardTDEntry' /> -->
|
<!-- <entry-point class='org.gcube.portlets.user.SDMXImportWizardTD.client.SDMXImportWizardTDEntry' /> -->
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
</servlet>
|
</servlet>
|
||||||
|
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>WorkspaceLightService</servlet-name>
|
<servlet-name>workspaceExplorer</servlet-name>
|
||||||
<servlet-class>org.gcube.portlets.widgets.lighttree.server.WorkspaceServiceImpl</servlet-class>
|
<servlet-class>org.gcube.portlets.widgets.wsexplorer.server.WorkspaceExplorerServiceImpl</servlet-class>
|
||||||
</servlet>
|
</servlet>
|
||||||
|
|
||||||
<servlet>
|
<servlet>
|
||||||
|
@ -31,18 +31,19 @@
|
||||||
<!-- Servlets Mapping -->
|
<!-- Servlets Mapping -->
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>TDGWTService</servlet-name>
|
<servlet-name>TDGWTService</servlet-name>
|
||||||
<url-pattern>tdgwtservice/TDGWTService</url-pattern>
|
<url-pattern>/CodelistMappingImportWizardWidgets/TDGWTService</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>jUnitHostImpl</servlet-name>
|
<servlet-name>jUnitHostImpl</servlet-name>
|
||||||
<url-pattern>CodelistMappingImportWizardWidgets/junithost/*</url-pattern>
|
<url-pattern>/CodelistMappingImportWizardWidgets/junithost/*</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
|
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>WorkspaceLightService</servlet-name>
|
<servlet-name>workspaceExplorer</servlet-name>
|
||||||
<url-pattern>/CodelistMappingImportWizardWidgets/WorkspaceLightService</url-pattern>
|
<url-pattern>/CodelistMappingImportWizardWidgets/WorkspaceExplorerService</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
|
|
||||||
|
|
||||||
<servlet-mapping>
|
<servlet-mapping>
|
||||||
<servlet-name>CodelistMappingUploadServlet</servlet-name>
|
<servlet-name>CodelistMappingUploadServlet</servlet-name>
|
||||||
<url-pattern>/CodelistMappingImportWizardWidgets/CodelistMappingUploadServlet</url-pattern>
|
<url-pattern>/CodelistMappingImportWizardWidgets/CodelistMappingUploadServlet</url-pattern>
|
||||||
|
|
Loading…
Reference in New Issue