From 0eb972042b6740a797090dba8a261a3f151e3eac Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 3 Aug 2015 16:56:26 +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-json-export-widget@117642 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 6 +- .../client/JSONExportWidgetTD.java | 7 +- .../client/JSONWorkSpaceSelectionCard.java | 95 +++++++++++-------- .../client/workspace/WorkspacePanel.java | 53 ----------- .../JSONExportWidgetTD.gwt.xml | 1 + src/main/webapp/WEB-INF/web.xml | 24 +++-- 6 files changed, 81 insertions(+), 105 deletions(-) delete mode 100644 src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/workspace/WorkspacePanel.java diff --git a/pom.xml b/pom.xml index d3a61a1..bad25f8 100644 --- a/pom.xml +++ b/pom.xml @@ -131,10 +131,10 @@ - + 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 diff --git a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONExportWidgetTD.java b/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONExportWidgetTD.java index 41fa339..aa95033 100644 --- a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONExportWidgetTD.java +++ b/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONExportWidgetTD.java @@ -4,6 +4,7 @@ package org.gcube.portlets.user.td.jsonexportwidget.client; import org.gcube.portlets.user.td.gwtservice.shared.json.JSONExportSession; import org.gcube.portlets.user.td.wizardwidget.client.WizardWindow; + import com.google.web.bindery.event.shared.EventBus; @@ -17,7 +18,9 @@ import com.google.web.bindery.event.shared.EventBus; public class JSONExportWidgetTD extends WizardWindow { protected JSONExportSession exportSession; - + protected String WIZARDWIDTH = "844px"; + + /** @@ -27,6 +30,8 @@ public class JSONExportWidgetTD extends WizardWindow { */ public JSONExportWidgetTD(String title, EventBus eventBus) { super(title,eventBus); + setWidth(WIZARDWIDTH); + exportSession= new JSONExportSession(); diff --git a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONWorkSpaceSelectionCard.java b/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONWorkSpaceSelectionCard.java index cfc3ff4..c1b656a 100644 --- a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONWorkSpaceSelectionCard.java +++ b/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/JSONWorkSpaceSelectionCard.java @@ -7,12 +7,11 @@ import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.td.gwtservice.shared.json.JSONExportSession; -import org.gcube.portlets.user.td.jsonexportwidget.client.workspace.WorkspacePanel; 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.Item; +import org.gcube.portlets.widgets.wsexplorer.shared.ItemType; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.user.client.Command; @@ -39,9 +38,8 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { protected TextField fileName; protected TextField fileDescription; - protected Item item; protected VerticalLayoutContainer p; - protected WorkspacePanel wpanel; + protected WorkspaceExplorerSelectPanel wpanel; /** * @@ -60,19 +58,18 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { String fileN = "Name"; if (exportSession.getTabResource() != null - && exportSession.getTabResource().getName() != null && - !exportSession.getTabResource().getName().isEmpty()) { - fileN=exportSession.getTabResource().getName(); - fileN=fileN.trim(); + && exportSession.getTabResource().getName() != null + && !exportSession.getTabResource().getName().isEmpty()) { + fileN = exportSession.getTabResource().getName(); + fileN = fileN.trim(); } - + fileName = new TextField(); fileName.setAllowBlank(false); fileName.addValidator(new EmptyValidator()); fileName.setWidth("410px"); fileName.setValue(fileN); - p.add(new FieldLabel(fileName, "Name"), new VerticalLayoutData(-1, - -1)); + p.add(new FieldLabel(fileName, "Name"), new VerticalLayoutData(1, -1)); fileDescription = new TextField(); fileDescription.addValidator(new EmptyValidator()); @@ -80,34 +77,50 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { fileDescription.setWidth("410px"); fileDescription.setValue("json"); p.add(new FieldLabel(fileDescription, "Description"), - new VerticalLayoutData(-1, -1)); + new VerticalLayoutData(1, -1)); + // / Log.debug("Set Workspace Panel"); - wpanel = new WorkspacePanel(); - wpanel.setSpWidth("410px"); - wpanel.setSpHeight("330px"); - List lItemType = new ArrayList(); - lItemType.add(ItemType.ROOT); - lItemType.add(ItemType.FOLDER); - wpanel.setShowableTypes(lItemType); - wpanel.setSelectableTypes(lItemType); - wpanel.addSelectionHandler(new ItemSelectionHandler() { + List selectableTypes = new ArrayList(); + selectableTypes.add(ItemType.FOLDER); + List showableTypes = new ArrayList(); + showableTypes.add(ItemType.FOLDER); - - public void onSelection(ItemSelectionEvent event) { - item = event.getSelectedItem(); + wpanel = new WorkspaceExplorerSelectPanel(new String( + "Workspace Selection"), selectableTypes, showableTypes); + + WorskpaceExplorerSelectNotificationListener handler = new WorskpaceExplorerSelectNotificationListener() { + + @Override + public void onSelectedItem(Item item) { Log.debug("Selected Item:" + item); - if (item.getType() == ItemType.FOLDER - || item.getType() == ItemType.ROOT) { + if (item.getType() == ItemType.FOLDER) { thisCard.exportSession.setItemId(item.getId()); } else { thisCard.exportSession.setItemId(null); Log.debug("Item type:" + item.getType()); } } - }); - p.add(new FieldLabel(wpanel, "Folder"), new VerticalLayoutData(-1, -1)); - 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(new FieldLabel(wpanel, "Folder"), new VerticalLayoutData(1, 1)); + setContent(formPanel); } @@ -115,7 +128,6 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { protected void checkExportData() { Log.debug("File Name:" + fileName.getCurrentValue() + " Item id: " + exportSession.getItemId()); - wpanel.disable(); fileName.disable(); getWizardWindow().setEnableNextButton(false); getWizardWindow().setEnableBackButton(false); @@ -123,7 +135,6 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { HideHandler hideHandler = new HideHandler() { public void onHide(HideEvent event) { - wpanel.enable(); getWizardWindow().setEnableNextButton(true); getWizardWindow().setEnableBackButton(true); fileName.enable(); @@ -137,11 +148,11 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { if (exportSession.getItemId() != null) { exportSession.setFileName(fileName.getCurrentValue()); - exportSession.setFileDescription(fileDescription.getCurrentValue()); + exportSession.setFileDescription(fileDescription + .getCurrentValue()); goNext(); } else { - d = new AlertMessageBox("Attetion", - "No folder selected"); + d = new AlertMessageBox("Attetion", "No folder selected"); d.addHideHandler(hideHandler); d.setModal(false); d.show(); @@ -190,8 +201,7 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { } } }; - - + getWizardWindow().setPreviousButtonCommand(sayPreviousCard); setBackButtonVisible(true); getWizardWindow().setEnableNextButton(true); @@ -200,11 +210,12 @@ public class JSONWorkSpaceSelectionCard extends WizardCard { } protected void goNext() { - JSONOperationInProgressCard jsonOperationInProgressCard = new JSONOperationInProgressCard(exportSession); + JSONOperationInProgressCard jsonOperationInProgressCard = new JSONOperationInProgressCard( + exportSession); getWizardWindow().addCard(jsonOperationInProgressCard); - Log.info("NextCard CSVOperationInProgressCard"); + Log.info("NextCard CSVOperationInProgressCard"); getWizardWindow().nextCard(); - + } } diff --git a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/workspace/WorkspacePanel.java b/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/workspace/WorkspacePanel.java deleted file mode 100644 index f0a7c66..0000000 --- a/src/main/java/org/gcube/portlets/user/td/jsonexportwidget/client/workspace/WorkspacePanel.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.gcube.portlets.user.td.jsonexportwidget.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; - -/** - * - * @author giancarlo - * email: g.panichi@isti.cnr.it - * - */ -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/jsonexportwidget/JSONExportWidgetTD.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/jsonexportwidget/JSONExportWidgetTD.gwt.xml index 95b2f58..50a7161 100644 --- a/src/main/resources/org/gcube/portlets/user/td/jsonexportwidget/JSONExportWidgetTD.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/jsonexportwidget/JSONExportWidgetTD.gwt.xml @@ -21,6 +21,7 @@ + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 7bec410..41e4136 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -4,28 +4,40 @@ "http://java.sun.com/dtd/web-app_2_3.dtd"> - - + + TDGWTService org.gcube.portlets.user.td.gwtservice.server.TDGWTServiceImpl - + jUnitHostImpl com.google.gwt.junit.server.JUnitHostImpl + + workspaceExplorer + org.gcube.portlets.widgets.wsexplorer.server.WorkspaceExplorerServiceImpl + + + TDGWTService - tdgwtservice/TDGWTService + /JSONExportWidget/TDGWTService jUnitHostImpl - JSONExportWidget/junithost/* + /JSONExportWidget/junithost/* - + + + workspaceExplorer + /JSONExportWidget/WorkspaceExplorerService + + + JSONExportWidgetTD.html