From a7b3f43ece2a5d5709c5b881a67e813ba4424584 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 3 Aug 2015 16:56:14 +0000 Subject: [PATCH] 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 --- pom.xml | 9 +- ...CodelistMappingWorkSpaceSelectionCard.java | 102 ++++++++++++------ .../client/workspace/WorkspacePanel.java | 47 -------- .../CodelistMappingImportWizardTD.gwt.xml | 4 +- src/main/webapp/WEB-INF/web.xml | 13 +-- 5 files changed, 86 insertions(+), 89 deletions(-) delete mode 100644 src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/workspace/WorkspacePanel.java diff --git a/pom.xml b/pom.xml index e08a00b..d4bcd2e 100644 --- a/pom.xml +++ b/pom.xml @@ -133,10 +133,11 @@ org.gcube.portlets.widgets - workspace-light-tree - [2.13.0-SNAPSHOT, 3.0.0-SNAPSHOT) + workspace-explorer + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) provided + org.gcube.common home-library @@ -166,9 +167,9 @@ 4.8.1 test - + - + ${webappDirectory}/WEB-INF/classes diff --git a/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/CodelistMappingWorkSpaceSelectionCard.java b/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/CodelistMappingWorkSpaceSelectionCard.java index d035dd6..2d92bd8 100644 --- a/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/CodelistMappingWorkSpaceSelectionCard.java +++ b/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/CodelistMappingWorkSpaceSelectionCard.java @@ -3,7 +3,11 @@ */ 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.shared.codelisthelper.CodelistMappingSession; 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.type.SessionExpiredType; import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; -import org.gcube.portlets.widgets.lighttree.client.Item; -import org.gcube.portlets.widgets.lighttree.client.ItemType; -import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionEvent; -import org.gcube.portlets.widgets.lighttree.client.event.ItemSelectionHandler; +import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener; +import org.gcube.portlets.widgets.wsexplorer.client.select.WorkspaceExplorerSelectPanel; +import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria; +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.google.gwt.user.client.Command; 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.VerticalLayoutData; /** * @@ -30,12 +37,17 @@ import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; */ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { - protected CodelistMappingSession codelistMappingSession; - protected CodelistMappingWorkSpaceSelectionCard thisCard; + /* + public interface HtmlLayoutContainerTemplate extends XTemplates { + @XTemplate("
") + SafeHtml getTemplate(); + }*/ - protected Item item; - protected VerticalLayoutContainer p; - protected WorkspacePanel wpanel; + private CodelistMappingSession codelistMappingSession; + private CodelistMappingWorkSpaceSelectionCard thisCard; + + private VerticalLayoutContainer p; + private WorkspaceExplorerSelectPanel wpanel; public CodelistMappingWorkSpaceSelectionCard( final CodelistMappingSession codelistMappingSession) { @@ -44,23 +56,38 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { this.codelistMappingSession = codelistMappingSession; thisCard = this; + + /*HtmlLayoutContainerTemplate templates = GWT + .create(HtmlLayoutContainerTemplate.class); + + HtmlLayoutContainer htmlLayoutContainer = new HtmlLayoutContainer( + templates.getTemplate()); + htmlLayoutContainer.add(button1, new HtmlData(".wspaceSelectionCard"));*/ + p = new VerticalLayoutContainer(); Log.debug("Set Workspace Panel"); - wpanel = new WorkspacePanel(); - wpanel.setSpWidth("536px"); - wpanel.setSpHeight("384px"); - // wpanel.setShowableTypes(ItemType.EXTERNAL_FILE); - 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() { + List selectableTypes = new ArrayList(); + selectableTypes.add(ItemType.EXTERNAL_FILE); + List showableTypes = new ArrayList(); + showableTypes.addAll(Arrays.asList(ItemType.values())); - public void onSelection(ItemSelectionEvent event) { - item = event.getSelectedItem(); + List allowedMimeTypes = Arrays.asList("application/xml", + "application/zip", "application/x-zip", + "application/x-zip-compressed", "application/octet", + "application/octet-stream"); + List allowedFileExtensions = Arrays.asList("xml", "zip"); + + FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes, + allowedFileExtensions, new HashMap()); + + wpanel = new WorkspaceExplorerSelectPanel(new String( + "Workspace Selection"), filterCriteria); + + WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() { + + @Override + public void onSelectedItem(Item item) { Log.debug("Selected Item:" + item); if (item.getType() == ItemType.EXTERNAL_FILE) { String filename = item.getName(); @@ -80,10 +107,29 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { Log.debug("Item type:" + item.getType()); getWizardWindow().setEnableNextButton(false); } + } - }); - p.add(wpanel); - wpanel.loadTree(); + + @Override + 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); } @@ -96,8 +142,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { public void execute() { Log.debug("CodelistMappingWorkSpaceSelectionCard Call sayNextCard wpanel:" + wpanel); - wpanel.disable(); - wpanel.startWaiting(); getWizardWindow().setEnableNextButton(false); getWizardWindow().setEnableBackButton(false); getFileFromWorkspace(); @@ -130,7 +174,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { new AsyncCallback() { public void onFailure(Throwable caught) { - wpanel.endWaiting(); if (caught instanceof TDGWTSessionExpiredException) { getEventBus() .fireEvent( @@ -160,7 +203,6 @@ public class CodelistMappingWorkSpaceSelectionCard extends WizardCard { } public void onSuccess(Void result) { - wpanel.endWaiting(); goNext(); } diff --git a/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/workspace/WorkspacePanel.java b/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/workspace/WorkspacePanel.java deleted file mode 100644 index b5dd4e5..0000000 --- a/src/main/java/org/gcube/portlets/user/td/codelistmappingimportwidget/client/workspace/WorkspacePanel.java +++ /dev/null @@ -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(); - } - -} diff --git a/src/main/resources/org/gcube/portlets/user/td/codelistmappingimportwidget/CodelistMappingImportWizardTD.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/codelistmappingimportwidget/CodelistMappingImportWizardTD.gwt.xml index 397cdfc..fe824ca 100644 --- a/src/main/resources/org/gcube/portlets/user/td/codelistmappingimportwidget/CodelistMappingImportWizardTD.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/codelistmappingimportwidget/CodelistMappingImportWizardTD.gwt.xml @@ -21,8 +21,8 @@ - - + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index a59d905..e3e7d4e 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -17,8 +17,8 @@ - WorkspaceLightService - org.gcube.portlets.widgets.lighttree.server.WorkspaceServiceImpl + workspaceExplorer + org.gcube.portlets.widgets.wsexplorer.server.WorkspaceExplorerServiceImpl @@ -31,18 +31,19 @@ TDGWTService - tdgwtservice/TDGWTService + /CodelistMappingImportWizardWidgets/TDGWTService jUnitHostImpl - CodelistMappingImportWizardWidgets/junithost/* + /CodelistMappingImportWizardWidgets/junithost/* - WorkspaceLightService - /CodelistMappingImportWizardWidgets/WorkspaceLightService + workspaceExplorer + /CodelistMappingImportWizardWidgets/WorkspaceExplorerService + CodelistMappingUploadServlet /CodelistMappingImportWizardWidgets/CodelistMappingUploadServlet