diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 32dc0da..c84c06a 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -4,6 +4,9 @@ + + uses + uses @@ -19,9 +22,6 @@ uses - - uses - diff --git a/pom.xml b/pom.xml index e5e8d0a..d4ceb4f 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,13 @@ provided + + + org.gcube.portlets.user + tabular-data-information + 1.0.0-SNAPSHOT + + com.allen-sauer.gwt.log diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index 9599740..7832324 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -6,7 +6,6 @@ package org.gcube.portlets.user.td.client; import org.gcube.portlets.user.sdmxexportwizardtd.client.SDMXExportWizardTD; import org.gcube.portlets.user.sdmximportwizardtd.client.SDMXImportWizardTD; import org.gcube.portlets.user.sdmximportwizardtd.client.general.WizardListener; -import org.gcube.portlets.user.sdmximportwizardtd.shared.TRId; import org.gcube.portlets.user.td.ciw.client.CSVImporterWidget; import org.gcube.portlets.user.td.client.event.CloseTabularResourceEvent; import org.gcube.portlets.user.td.client.event.CloseTabularResourceType; @@ -20,63 +19,54 @@ import org.gcube.portlets.user.td.client.event.OpenTabularResourceEvent; import org.gcube.portlets.user.td.client.event.OpenTabularResourceType; import org.gcube.portlets.user.td.importer.client.TabularDataImporterListener; import org.gcube.portlets.user.td.information.client.TabularResourceProperties; +import org.gcube.portlets.user.td.information.shared.TRId; import org.gcube.portlets.user.td.open.client.TDOpen; import org.gcube.portlets.user.tdw.client.TabularData; import org.gcube.portlets.user.tdw.shared.model.TableId; import com.allen_sauer.gwt.log.client.Log; -import com.extjs.gxt.ui.client.event.ResizeEvent; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; -import com.google.gwt.event.shared.GwtEvent; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.google.web.bindery.event.shared.EventBus; import com.google.web.bindery.event.shared.SimpleEventBus; -import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.widget.core.client.ContentPanel; import com.sencha.gxt.widget.core.client.TabItemConfig; import com.sencha.gxt.widget.core.client.TabPanel; -import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer; import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData; import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent; import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent.BeforeCloseHandler; import com.sencha.gxt.widget.core.client.info.Info; + /** * @author "Federico De Faveri defaveri@isti.cnr.it" * */ -public class TabularDataController { -//implements HasCloseHandlers, HasOpenHandlers { +public class TabularDataController { + // implements HasCloseHandlers, HasOpenHandlers { protected SimpleEventBus eventBus; protected TabularData tabularData; - - protected BorderLayoutContainer centerContainer; + protected UIState uiState = UIState.START; + protected UIProperties uiProperties = UIProperties.CLOSED; + protected ContentPanel functionalityPanel; protected TabPanel functionalityTab; protected int indexFunctionalityTab = 0; - protected boolean functionalityOpen; - - protected Label propertiesLabel; - + protected TabularResourceProperties trProperties; protected BorderLayoutData eastData; - + /** - * Table Open - */ - protected boolean tableOpen=false; - - /** - * Tabular Resource Id + * Tabular Resource Id */ protected TRId trId; - + /** - * Grid TableId - */ + * Grid TableId + */ protected TableId tableOpening; - + public TabularDataController() { eventBus = new SimpleEventBus(); bindToEvents(); @@ -88,22 +78,11 @@ public class TabularDataController { public EventBus getEventBus() { return eventBus; } - - - public void setTabularData(TabularData tabularData){ - this.tabularData=tabularData; - } - - - public BorderLayoutContainer getCenterContainer() { - return centerContainer; + + public void setTabularData(TabularData tabularData) { + this.tabularData = tabularData; } - public void setCenterContainer(BorderLayoutContainer centerContainer) { - this.centerContainer = centerContainer; - } - - public ContentPanel getFunctionalityPanel() { return functionalityPanel; } @@ -128,11 +107,6 @@ public class TabularDataController { this.eastData = eastData; } - - - - - protected void bindToEvents() { eventBus.addHandler(ImportTableEvent.TYPE, new ImportTableEvent.ImportTableHandler() { @@ -154,7 +128,8 @@ public class TabularDataController { new OpenTabularResourceEvent.OpenTabularResourceHandler() { @Override - public void onOpenTabularResource(OpenTabularResourceEvent event) { + public void onOpenTabularResource( + OpenTabularResourceEvent event) { doOpenTabularResource(event.getOpenType()); } }); @@ -162,7 +137,8 @@ public class TabularDataController { new CloseTabularResourceEvent.CloseTabularResourceHandler() { @Override - public void onCloseTabularResource(CloseTabularResourceEvent event) { + public void onCloseTabularResource( + CloseTabularResourceEvent event) { doCloseTabularResource(event.getCloseType()); } }); @@ -174,8 +150,7 @@ public class TabularDataController { doOpenFunctionality(event.getOpenFunctionalityType()); } }); - - + } public void doImportTable(ImportTableType importType) { @@ -196,10 +171,11 @@ public class TabularDataController { break; } } catch (Exception e) { - Log.error("doImportTable Error : " + e.getLocalizedMessage()+ " \n "+e.getMessage()); + Log.error("doImportTable Error : " + e.getLocalizedMessage() + + " \n " + e.getMessage()); } } - + public void doExportTable(ExportTableType exportType) { Log.trace("doExportTable importType: " + exportType); Info.display("Export Tabular Resource", "type: " + exportType); @@ -218,10 +194,10 @@ public class TabularDataController { break; } } catch (Exception e) { - Log.error("doImportTable Error : " + e.getLocalizedMessage()+ " \n "+e.getMessage()); + Log.error("doImportTable Error : " + e.getLocalizedMessage() + + " \n " + e.getMessage()); } } - public void doOpenTabularResource(OpenTabularResourceType openType) { Log.trace("doOpenTabularResource openType: " + openType); @@ -235,11 +211,11 @@ public class TabularDataController { break; } } catch (Exception e) { - Log.error("doOpenTable Error : " + e.getLocalizedMessage()+ " \n "+e.getMessage()); + Log.error("doOpenTable Error : " + e.getLocalizedMessage() + " \n " + + e.getMessage()); } } - - + public void doCloseTabularResource(CloseTabularResourceType closeType) { Log.trace("doCloseTabularResource closeType: " + closeType); Info.display("Close Tabular Resource", "close: " + closeType); @@ -252,13 +228,13 @@ public class TabularDataController { break; } } catch (Exception e) { - Log.error("doOpenTable Error : " + e.getLocalizedMessage()+ " \n "+e.getMessage()); + Log.error("doOpenTable Error : " + e.getLocalizedMessage() + " \n " + + e.getMessage()); } } - + public void doOpenFunctionality(OpenFunctionalityType openType) { Log.trace("doOpenFunctionality openType: " + openType); - Info.display("Open Functionality", "open: " + openType); try { switch (openType) { case PROPERTIES: @@ -272,107 +248,111 @@ public class TabularDataController { e.printStackTrace(); } } - - - - protected void openFunctionalityProperties(){ - if(propertiesLabel==null){ - propertiesLabel = new Label("Tabular Resources Properties"); - propertiesLabel.addStyleName("pad-text"); - TabItemConfig propertiesItemConf=new TabItemConfig("Properties", true); - - org.gcube.portlets.user.td.information.shared.TRId trId=new org.gcube.portlets.user.td.information.shared.TRId("0","1"); - TabularResourceProperties trProperties=new TabularResourceProperties("TRProperties",eventBus,trId); - trProperties.setHeaderVisible(false); - functionalityTab.add(trProperties, propertiesItemConf); - functionalityTab.addBeforeCloseHandler(new BeforeCloseHandler(){ - @Override - public void onBeforeClose(BeforeCloseEvent event) { - if(functionalityTab.getWidgetCount()==1){ - functionalityPanel.disable(); - functionalityPanel.collapse(); - functionalityOpen=false; - propertiesLabel=null; - } - - } + protected void openFunctionalityProperties() { + if (uiState == UIState.TR_OPEN) { + if (uiProperties == UIProperties.OPENED) { + functionalityPanel.collapse(); + functionalityPanel.disable(); + uiProperties=UIProperties.CLOSED; + functionalityTab.remove(trProperties); + Info.display("Properties", "Closed"); + } else { + TabItemConfig propertiesItemConf = new TabItemConfig( + "Properties", true); + - } - ); - - Label taskLabel = new Label("Task Properties"); - taskLabel.addStyleName("pad-text"); - functionalityTab.add(taskLabel, new TabItemConfig("Task", true)); - - - //Last is functionalityTab.getWidgetCount() - 1) - functionalityTab.setActiveWidget(functionalityTab - .getWidget(0)); - - centerContainer.onResize(); - } - - if(functionalityOpen){ - functionalityPanel.collapse(); - functionalityOpen=false; + trProperties = new TabularResourceProperties( + "TRProperties", eventBus, trId); + trProperties.setHeaderVisible(false); + functionalityTab.add(trProperties, propertiesItemConf); + functionalityTab + .addBeforeCloseHandler(new BeforeCloseHandler() { + + @Override + public void onBeforeClose( + BeforeCloseEvent event) { + if (functionalityTab.getWidgetCount() == 1) { + functionalityPanel.disable(); + functionalityPanel.collapse(); + uiProperties=UIProperties.CLOSED; + functionalityTab.remove(trProperties); + } + + } + + }); + + /*Label taskLabel = new Label("Task Properties"); + taskLabel.addStyleName("pad-text"); + functionalityTab + .add(taskLabel, new TabItemConfig("Task", true)); + + */ + functionalityTab.setActiveWidget(functionalityTab.getWidget(0)); + + + + functionalityPanel.enable(); + functionalityPanel.expand(); + uiProperties=UIProperties.OPENED; + + } } else { - functionalityPanel.enable(); - functionalityPanel.expand(); - functionalityOpen=true; + Info.display("Properties", "No table open"); } - centerContainer.onResize(); }; - + protected void openSDMXImportWizard() { - + GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { - SDMXImportWizardTD importWizard= new SDMXImportWizardTD("SDMX Import"); + SDMXImportWizardTD importWizard = new SDMXImportWizardTD( + "SDMX Import"); - importWizard.addListener(new WizardListener(){ + importWizard.addListener(new WizardListener() { @Override public void completed(TRId tabularResourceId) { - trId=tabularResourceId; - tableOpening=new TableId(Constants.TD_DATASOURCE_FACTORY_ID,trId.getTableId()); - tabularData.openTable(tableOpening); - tableOpen=true; - + trId = tabularResourceId; + tableOpening = new TableId( + Constants.TD_DATASOURCE_FACTORY_ID, trId + .getTableId()); + tabularData.openTable(tableOpening); + uiState = UIState.TR_OPEN; + } @Override public void aborted() { // TODO Auto-generated method stub - + } @Override public void failed(Throwable throwable, String reason, String details) { // TODO Auto-generated method stub - + } - + }); /* - importWizard.addWizardSelectionHandler(new WizardSelectionHandler() { + * importWizard.addWizardSelectionHandler(new + * WizardSelectionHandler() { + * + * @Override public void onSelected( + * SDMXWizardSelectionEvent event) { + * doSDMXDatasetImport(event.getSelected()); } + * + * @Override public void onClosed( + * SDMXWizardSelectionEvent event) { + * + * } }); + */ - @Override - public void onSelected( - SDMXWizardSelectionEvent event) { - doSDMXDatasetImport(event.getSelected()); - } - - @Override - public void onClosed( - SDMXWizardSelectionEvent event) { - - } - });*/ - importWizard.show(); } @@ -381,40 +361,41 @@ public class TabularDataController { asyncCodeLoadingFailed(reason); } }); - + } - protected void openSDMXExportWizard() { - + GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { - SDMXExportWizardTD exportWizard= new SDMXExportWizardTD("SDMX Export"); + SDMXExportWizardTD exportWizard = new SDMXExportWizardTD( + "SDMX Export"); + + exportWizard + .addListener(new org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardListener() { + + @Override + public void failed(Throwable throwable, + String reason, String details) { + // TODO Auto-generated method stub + + } + + @Override + public void completed(TRId id) { + // TODO Auto-generated method stub + + } + + @Override + public void aborted() { + // TODO Auto-generated method stub + + } + }); - exportWizard.addListener(new org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardListener() { - - @Override - public void failed(Throwable throwable, String reason, String details) { - // TODO Auto-generated method stub - - } - - @Override - public void completed( - org.gcube.portlets.user.sdmxexportwizardtd.shared.TRId id) { - // TODO Auto-generated method stub - - } - - @Override - public void aborted() { - // TODO Auto-generated method stub - - } - }); - exportWizard.show(); } @@ -423,58 +404,65 @@ public class TabularDataController { asyncCodeLoadingFailed(reason); } }); - + } - + /** * */ - protected void closeTabularResources(){ - if(tableOpen) tabularData.closeTable(); + protected void closeTabularResources() { + if (uiState == UIState.TR_OPEN) { + tabularData.closeTable(); + uiState = UIState.START; + if(uiProperties==UIProperties.OPENED){ + functionalityPanel.collapse(); + functionalityPanel.disable(); + uiProperties=UIProperties.CLOSED; + functionalityTab.remove(trProperties); + } + } } - + /** * */ protected void openTabularResources() { - + Log.info("Open Tabular Resources"); - + GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { - TDOpen tdOpen= new TDOpen("Tabular Resources Open"); - - tdOpen.addListener(new org.gcube.portlets.user.td.open.client.general.WizardListener(){ + TDOpen tdOpen = new TDOpen("Tabular Resources Open"); + + tdOpen.addListener(new org.gcube.portlets.user.td.open.client.general.WizardListener() { @Override public void aborted() { // TODO Auto-generated method stub - + } @Override public void failed(Throwable throwable, String reason, String details) { // TODO Auto-generated method stub - + } @Override - public void completed( - org.gcube.portlets.user.td.open.shared.TRId tabularResourceId) { - trId= new TRId(tabularResourceId.getId(),tabularResourceId.getTableId()); - tableOpening=new TableId(Constants.TD_DATASOURCE_FACTORY_ID,trId.getTableId()); - tabularData.openTable(tableOpening); - tableOpen=true; - - - + public void completed(TRId tabularResourceId) { + trId = new TRId(tabularResourceId.getId(), + tabularResourceId.getTableId()); + tableOpening = new TableId( + Constants.TD_DATASOURCE_FACTORY_ID, trId + .getTableId()); + tabularData.openTable(tableOpening); + uiState = UIState.TR_OPEN; + } - - }); Log.info("TDOpen add Listener"); tdOpen.show(); @@ -485,20 +473,18 @@ public class TabularDataController { asyncCodeLoadingFailed(reason); } }); - - } - - - /* - protected void doSDMXDatasetImport(List datasets) { - Log.info("doSDMXDatasetImport: " + datasets.size()); - for (Dataset d : datasets) { - Log.info("Dataset: " + d.getId() + d.getName() + d.getAgencyId()); - } } - */ - + + /* + * protected void doSDMXDatasetImport(List datasets) { + * Log.info("doSDMXDatasetImport: " + datasets.size()); for (Dataset d : + * datasets) { Log.info("Dataset: " + d.getId() + d.getName() + + * d.getAgencyId()); } + * + * } + */ + protected void openCSVImportWizard() { /* * GWT.runAsync(new RunAsyncCallback() { @@ -541,35 +527,25 @@ public class TabularDataController { Info.display("Async code loading failed", "Please retry to lunch the operation"); } - - - /** - * {@inheritDoc} - - @Override - public HandlerRegistration addCloseHandler(CloseHandler handler) { - //return eventBus.addHandler(CloseEvent.getType(), handler); - } /** * {@inheritDoc} - - @Override - public HandlerRegistration addOpenHandler(OpenHandler handler) { - //return eventBus.addHandler(OpenEvent.getType(), handler); - } -*/ + * + * @Override public HandlerRegistration addCloseHandler(CloseHandler + * handler) { //return eventBus.addHandler(CloseEvent.getType(), + * handler); } + * + * /** {@inheritDoc} + * @Override public HandlerRegistration addOpenHandler(OpenHandler + * handler) { //return eventBus.addHandler(OpenEvent.getType(), + * handler); } + */ /** * {@inheritDoc} - - @Override - public void fireEvent(GwtEvent event) { - eventBus.fireEvent(event); - } - - */ - - + * + * @Override public void fireEvent(GwtEvent event) { + * eventBus.fireEvent(event); } + */ } diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java index f6160c5..1db661a 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java @@ -55,7 +55,7 @@ public class TabularDataPortlet implements EntryPoint { //Private TabularData private static TabularData tabularData; - private static BorderLayoutContainer centerContainer; + private static ContentPanel functionalityPanel; private static TabPanel functionalityTab; private static BorderLayoutData eastData; @@ -115,55 +115,45 @@ public class TabularDataPortlet implements EntryPoint { toolBarData.setSplit(false); mainPanelLayout.setNorthWidget(toolBarPanel, toolBarData); - - //Set Center Container - centerContainer = new BorderLayoutContainer(); - centerContainer.setResize(true); - centerContainer.setBorders(false); - - //Grid Panel final TabularDataGridPanel gridPanel = tabularData.getGridPanel(); gridPanel.setHeaderVisible(false); MarginData gridData = new MarginData(); - centerContainer.setCenterWidget(gridPanel,gridData); + mainPanelLayout.setCenterWidget(gridPanel,gridData); + //Functionality Panel functionalityPanel= new ContentPanel(); + functionalityPanel.setWidth(250); functionalityPanel.setHeaderVisible(false); functionalityPanel.setResize(true); functionalityTab=new TabPanel(); - //functionalityTab.setPixelSize(600, 250); functionalityTab.setAnimScroll(true); functionalityTab.setTabScroll(true); functionalityTab.setCloseContextMenu(true); - - eastData = new BorderLayoutData(200); + functionalityPanel.add(functionalityTab); + + eastData = new BorderLayoutData(250); eastData.setCollapsible(true); - eastData.setSplit(true); + eastData.setSplit(false); eastData.setFloatable(false); eastData.setCollapseMini(true); eastData.setMargins(new Margins(0, 5, 0, 5)); eastData.setCollapseHidden(true); - //eastData.setCollapsed(true); - - functionalityPanel.add(functionalityTab); - //functionalityPanel.setVisible(false); - - centerContainer.setEastWidget(functionalityPanel,eastData); + + mainPanelLayout.setEastWidget(functionalityPanel,eastData); + functionalityPanel.collapse(); functionalityPanel.disable(); + controller.setFunctionalityTab(functionalityTab); controller.setFunctionalityPanel(functionalityPanel); - - //Set Center Container - mainPanelLayout.setCenterWidget(centerContainer, gridData); - controller.setCenterContainer(centerContainer); + controller.setEastData(eastData); //Main SimpleContainer mainPanel = new SimpleContainer(); diff --git a/src/main/java/org/gcube/portlets/user/td/client/UIProperties.java b/src/main/java/org/gcube/portlets/user/td/client/UIProperties.java new file mode 100644 index 0000000..9a7fd00 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/UIProperties.java @@ -0,0 +1,6 @@ +package org.gcube.portlets.user.td.client; + +public enum UIProperties { + CLOSED, + OPENED; +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/UIState.java b/src/main/java/org/gcube/portlets/user/td/client/UIState.java new file mode 100644 index 0000000..bf847a3 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/client/UIState.java @@ -0,0 +1,8 @@ +package org.gcube.portlets.user.td.client; + +public enum UIState { + START, + TR_OPEN, + TR_IMPORT, + TR_EXPORT +} diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java index ccdce29..538fdce 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java @@ -51,7 +51,6 @@ public class TabularDataRibbon { ribbon.add(con, "Charts"); - } /**