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");
-
}
/**