diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesProperties.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesProperties.java deleted file mode 100644 index 49173a4..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesProperties.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Agencies; - -import com.google.gwt.editor.client.Editor.Path; -import com.sencha.gxt.core.client.ValueProvider; -import com.sencha.gxt.data.shared.LabelProvider; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.PropertyAccess; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public interface AgenciesProperties extends PropertyAccess { - - @Path("id") - ModelKeyProvider key(); - - LabelProvider nameLabel(); - - ValueProvider name(); - ValueProvider description(); - - - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesSelectionPanel.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesSelectionPanel.java deleted file mode 100644 index a36e02f..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/AgenciesSelectionPanel.java +++ /dev/null @@ -1,227 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import java.util.Arrays; -import java.util.List; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.dataresource.ResourceBundle; -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Agencies; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.Scheduler; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.event.dom.client.KeyUpEvent; -import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.event.logical.shared.HasSelectionHandlers; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.event.shared.HandlerRegistration; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sencha.gxt.core.client.IdentityValueProvider; -import com.sencha.gxt.core.client.Style.SelectionMode; -import com.sencha.gxt.data.client.loader.RpcProxy; -import com.sencha.gxt.data.shared.ListStore; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.Store; -import com.sencha.gxt.data.shared.Store.StoreFilter; -import com.sencha.gxt.data.shared.loader.ListLoadConfig; -import com.sencha.gxt.data.shared.loader.ListLoadResult; -import com.sencha.gxt.data.shared.loader.ListLoadResultBean; -import com.sencha.gxt.data.shared.loader.ListLoader; -import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; -import com.sencha.gxt.widget.core.client.ContentPanel; -import com.sencha.gxt.widget.core.client.Resizable; -import com.sencha.gxt.widget.core.client.Resizable.Dir; -import com.sencha.gxt.widget.core.client.button.TextButton; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.event.SelectEvent; -import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; -import com.sencha.gxt.widget.core.client.form.TextField; -import com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel; -import com.sencha.gxt.widget.core.client.grid.ColumnConfig; -import com.sencha.gxt.widget.core.client.grid.ColumnModel; -import com.sencha.gxt.widget.core.client.grid.Grid; -import com.sencha.gxt.widget.core.client.toolbar.LabelToolItem; -import com.sencha.gxt.widget.core.client.toolbar.ToolBar; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class AgenciesSelectionPanel extends ContentPanel implements HasSelectionHandlers { - - private static final AgenciesProperties properties = GWT.create(AgenciesProperties.class); - - protected static final ColumnConfig nameColumn = new ColumnConfig(properties.name(), 50, "Name"); - protected static final ColumnConfig descriptionColumn = new ColumnConfig(properties.description(), 50, "Description"); - - protected Grid grid; - protected ResourceBundle res; - - - @SuppressWarnings("unchecked") - public AgenciesSelectionPanel(ResourceBundle res) - { - this.res=res; - setHeaderVisible(false); - new Resizable(this, Dir.E, Dir.SE, Dir.S); - buildPanel(properties.key(), Arrays.>asList(nameColumn, descriptionColumn), nameColumn); - } - - - protected void buildPanel(ModelKeyProvider keyProvider, List> columns, ColumnConfig autoexpandColumn) - { - - ToolBar toolBar = new ToolBar(); - toolBar.add(new LabelToolItem("Search: ")); - final TextField searchField = new TextField(); - toolBar.add(searchField); - - TextButton btnReload = new TextButton(); - //btnReload.setText("Reload"); - btnReload.setIcon(res.refresh_16()); - btnReload.setToolTip("Reload"); - toolBar.add(btnReload); - - - IdentityValueProvider identity = new IdentityValueProvider(); - final CheckBoxSelectionModel sm = new CheckBoxSelectionModel(identity); - - ColumnModel cm = new ColumnModel(columns); - - final ExtendedListStore store = new ExtendedListStore(keyProvider); - - searchField.addKeyUpHandler(new KeyUpHandler() { - - @Override - public void onKeyUp(KeyUpEvent event) { - Log.trace("searchTerm: "+searchField.getCurrentValue()); - store.applyFilters(); - } - }); - - store.addFilter(new StoreFilter() { - - @Override - public boolean select(Store store, Agencies parent, Agencies item) { - String searchTerm = searchField.getCurrentValue(); - if (searchTerm == null) return true; - return AgenciesSelectionPanel.this.select(item, searchTerm); - } - }); - - store.setEnableFilters(true); - - RpcProxy> proxy = new RpcProxy>() { - - - public void load(ListLoadConfig loadConfig, final AsyncCallback> callback) { - loadData(loadConfig, callback); - } - }; - final ListLoader> loader = new ListLoader>(proxy); - - loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>(store)); - - grid = new Grid(store, cm){ - @Override - protected void onAfterFirstAttach() { - super.onAfterFirstAttach(); - Scheduler.get().scheduleDeferred(new ScheduledCommand() { - @Override - public void execute() { - loader.load(); - } - }); - } - }; - - sm.setSelectionMode(SelectionMode.SINGLE); - grid.setLoader(loader); - grid.setSelectionModel(sm); - grid.getView().setAutoExpandColumn(autoexpandColumn); - grid.getView().setStripeRows(true); - grid.getView().setColumnLines(true); - grid.getView().setAutoFill(true); - grid.setBorders(false); - grid.setLoadMask(true); - grid.setColumnReordering(true); - - SelectHandler sh = new SelectHandler() { - @Override - public void onSelect(SelectEvent event) { - loader.load(); - } - }; - - btnReload.addSelectHandler(sh); - - VerticalLayoutContainer con = new VerticalLayoutContainer(); - con.add(toolBar, new VerticalLayoutData(1, -1)); - con.add(grid, new VerticalLayoutData(1, 1)); - setWidget(con); - } - - - - protected boolean select(Agencies item, String searchTerm) { - if (item.getName()!=null && item.getName().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getDescription()!=null && item.getDescription().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getId()!=null &&item.getId().toLowerCase().contains(searchTerm.toLowerCase())) return true; - return false; - } - - - protected void loadData(ListLoadConfig loadConfig, final AsyncCallback> callback) { - SDMXExportWizardServiceAsync.INSTANCE.getAgencies(new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - callback.onFailure(caught); - } - - @Override - public void onSuccess(List result) { - Log.trace("loaded "+result.size()+" agencies"); - callback.onSuccess(new ListLoadResultBean(result)); - } - }); - } - - - @Override - public HandlerRegistration addSelectionHandler(SelectionHandler handler) { - return grid.getSelectionModel().addSelectionHandler(handler); - } - - - /*public List getSelectedItems() { - return grid.getSelectionModel().getSelectedItems(); - }*/ - - public Agencies getSelectedItem() { - return grid.getSelectionModel().getSelectedItem(); - } - - protected class ExtendedListStore extends ListStore { - - public ExtendedListStore(ModelKeyProvider keyProvider) { - super(keyProvider); - } - - public void applyFilters() - { - super.applyFilters(); - } - - } - - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistProperties.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistProperties.java deleted file mode 100644 index 21f49bf..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistProperties.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Codelist; - -import com.google.gwt.editor.client.Editor.Path; -import com.sencha.gxt.core.client.ValueProvider; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.PropertyAccess; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public interface CodelistProperties extends PropertyAccess { - - @Path("id") - ModelKeyProvider key(); - - ValueProvider name(); - ValueProvider agencyId(); - ValueProvider version(); - ValueProvider description(); - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistSelectionPanel.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistSelectionPanel.java deleted file mode 100644 index f1e0855..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/CodelistSelectionPanel.java +++ /dev/null @@ -1,231 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import java.util.Arrays; -import java.util.List; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.dataresource.ResourceBundle; -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Codelist; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.Scheduler; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.event.dom.client.KeyUpEvent; -import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.event.logical.shared.HasSelectionHandlers; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.event.shared.HandlerRegistration; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sencha.gxt.core.client.IdentityValueProvider; -import com.sencha.gxt.core.client.Style.SelectionMode; -import com.sencha.gxt.data.client.loader.RpcProxy; -import com.sencha.gxt.data.shared.ListStore; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.Store; -import com.sencha.gxt.data.shared.Store.StoreFilter; -import com.sencha.gxt.data.shared.loader.ListLoadConfig; -import com.sencha.gxt.data.shared.loader.ListLoadResult; -import com.sencha.gxt.data.shared.loader.ListLoadResultBean; -import com.sencha.gxt.data.shared.loader.ListLoader; -import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; -import com.sencha.gxt.widget.core.client.ContentPanel; -import com.sencha.gxt.widget.core.client.Resizable; -import com.sencha.gxt.widget.core.client.Resizable.Dir; -import com.sencha.gxt.widget.core.client.button.TextButton; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.event.SelectEvent; -import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; -import com.sencha.gxt.widget.core.client.form.TextField; -import com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel; -import com.sencha.gxt.widget.core.client.grid.ColumnConfig; -import com.sencha.gxt.widget.core.client.grid.ColumnModel; -import com.sencha.gxt.widget.core.client.grid.Grid; -import com.sencha.gxt.widget.core.client.toolbar.LabelToolItem; -import com.sencha.gxt.widget.core.client.toolbar.ToolBar; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class CodelistSelectionPanel extends ContentPanel implements HasSelectionHandlers { - - private static final CodelistProperties properties = GWT.create(CodelistProperties.class); - - protected static final ColumnConfig nameColumn = new ColumnConfig(properties.name(), 50, "Name"); - protected static final ColumnConfig agencyIdColumn = new ColumnConfig(properties.agencyId(), 50, "Agency Id"); - protected static final ColumnConfig versionColumn = new ColumnConfig(properties.version(), 50, "Version"); - protected static final ColumnConfig descriptionColumn = new ColumnConfig(properties.description(), 50, "Description"); - - protected Grid grid; - protected ResourceBundle res; - - - @SuppressWarnings("unchecked") - public CodelistSelectionPanel(ResourceBundle res) - { - this.res=res; - setHeaderVisible(false); - new Resizable(this, Dir.E, Dir.SE, Dir.S); - buildPanel(properties.key(), Arrays.>asList(nameColumn, agencyIdColumn, versionColumn, descriptionColumn), nameColumn); - } - - - protected void buildPanel(ModelKeyProvider keyProvider, List> columns, ColumnConfig autoexpandColumn) - { - - ToolBar toolBar = new ToolBar(); - toolBar.add(new LabelToolItem("Search: ")); - final TextField searchField = new TextField(); - toolBar.add(searchField); - - TextButton btnReload = new TextButton(); - //btnReload.setText("Reload"); - btnReload.setIcon(res.refresh_16()); - btnReload.setToolTip("Reload"); - toolBar.add(btnReload); - - - IdentityValueProvider identity = new IdentityValueProvider(); - final CheckBoxSelectionModel sm = new CheckBoxSelectionModel(identity); - - ColumnModel cm = new ColumnModel(columns); - - final ExtendedListStore store = new ExtendedListStore(keyProvider); - - searchField.addKeyUpHandler(new KeyUpHandler() { - - @Override - public void onKeyUp(KeyUpEvent event) { - Log.trace("searchTerm: "+searchField.getCurrentValue()); - store.applyFilters(); - } - }); - - store.addFilter(new StoreFilter() { - - @Override - public boolean select(Store store, Codelist parent, Codelist item) { - String searchTerm = searchField.getCurrentValue(); - if (searchTerm == null) return true; - return CodelistSelectionPanel.this.select(item, searchTerm); - } - }); - - store.setEnableFilters(true); - - RpcProxy> proxy = new RpcProxy>() { - - - public void load(ListLoadConfig loadConfig, final AsyncCallback> callback) { - loadData(loadConfig, callback); - } - }; - final ListLoader> loader = new ListLoader>(proxy); - - loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>(store)); - - grid = new Grid(store, cm){ - @Override - protected void onAfterFirstAttach() { - super.onAfterFirstAttach(); - Scheduler.get().scheduleDeferred(new ScheduledCommand() { - @Override - public void execute() { - loader.load(); - } - }); - } - }; - - sm.setSelectionMode(SelectionMode.SINGLE); - grid.setLoader(loader); - grid.setSelectionModel(sm); - grid.getView().setAutoExpandColumn(autoexpandColumn); - grid.getView().setStripeRows(true); - grid.getView().setColumnLines(true); - grid.getView().setAutoFill(true); - grid.setBorders(false); - grid.setLoadMask(true); - grid.setColumnReordering(true); - - SelectHandler sh = new SelectHandler() { - @Override - public void onSelect(SelectEvent event) { - loader.load(); - } - }; - - btnReload.addSelectHandler(sh); - - VerticalLayoutContainer con = new VerticalLayoutContainer(); - con.add(toolBar, new VerticalLayoutData(1, -1)); - con.add(grid, new VerticalLayoutData(1, 1)); - setWidget(con); - } - - - - protected boolean select(Codelist item, String searchTerm) { - if (item.getName()!=null && item.getName().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getAgencyId()!=null &&item.getAgencyId().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getVersion()!=null && item.getVersion().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getDescription()!=null && item.getDescription().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getId()!=null &&item.getId().toLowerCase().contains(searchTerm.toLowerCase())) return true; - return false; - } - - - protected void loadData(ListLoadConfig loadConfig, final AsyncCallback> callback) { - SDMXExportWizardServiceAsync.INSTANCE.getCodelists(new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - callback.onFailure(caught); - } - - @Override - public void onSuccess(List result) { - Log.trace("loaded "+result.size()+" codelists"); - callback.onSuccess(new ListLoadResultBean(result)); - } - }); - } - - - @Override - public HandlerRegistration addSelectionHandler(SelectionHandler handler) { - return grid.getSelectionModel().addSelectionHandler(handler); - } - - - /*public List getSelectedItems() { - return grid.getSelectionModel().getSelectedItems(); - }*/ - - public Codelist getSelectedItem() { - return grid.getSelectionModel().getSelectedItem(); - } - - protected class ExtendedListStore extends ListStore { - - public ExtendedListStore(ModelKeyProvider keyProvider) { - super(keyProvider); - } - - public void applyFilters() - { - super.applyFilters(); - } - - } - - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetProperties.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetProperties.java deleted file mode 100644 index 5b4d6cb..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetProperties.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Dataset; - -import com.google.gwt.editor.client.Editor.Path; -import com.sencha.gxt.core.client.ValueProvider; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.PropertyAccess; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public interface DatasetProperties extends PropertyAccess { - - @Path("id") - ModelKeyProvider key(); - - ValueProvider name(); - ValueProvider agencyId(); - ValueProvider version(); - ValueProvider description(); - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetSelectionPanel.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetSelectionPanel.java deleted file mode 100644 index cabedae..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/DatasetSelectionPanel.java +++ /dev/null @@ -1,201 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import java.util.Arrays; -import java.util.List; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Dataset; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.Scheduler; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.event.dom.client.KeyUpEvent; -import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.event.logical.shared.HasSelectionHandlers; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.event.shared.HandlerRegistration; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.sencha.gxt.core.client.IdentityValueProvider; -import com.sencha.gxt.data.client.loader.RpcProxy; -import com.sencha.gxt.data.shared.ListStore; -import com.sencha.gxt.data.shared.ModelKeyProvider; -import com.sencha.gxt.data.shared.Store; -import com.sencha.gxt.data.shared.Store.StoreFilter; -import com.sencha.gxt.data.shared.loader.ListLoadConfig; -import com.sencha.gxt.data.shared.loader.ListLoadResult; -import com.sencha.gxt.data.shared.loader.ListLoadResultBean; -import com.sencha.gxt.data.shared.loader.ListLoader; -import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; -import com.sencha.gxt.widget.core.client.ContentPanel; -import com.sencha.gxt.widget.core.client.Resizable; -import com.sencha.gxt.widget.core.client.Resizable.Dir; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.form.TextField; -import com.sencha.gxt.widget.core.client.grid.CheckBoxSelectionModel; -import com.sencha.gxt.widget.core.client.grid.ColumnConfig; -import com.sencha.gxt.widget.core.client.grid.ColumnModel; -import com.sencha.gxt.widget.core.client.grid.Grid; -import com.sencha.gxt.widget.core.client.toolbar.LabelToolItem; -import com.sencha.gxt.widget.core.client.toolbar.ToolBar; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class DatasetSelectionPanel extends ContentPanel implements HasSelectionHandlers { - - private static final DatasetProperties properties = GWT.create(DatasetProperties.class); - - protected static final ColumnConfig nameColumn = new ColumnConfig(properties.name(), 50, "Name"); - protected static final ColumnConfig agencyIdColumn = new ColumnConfig(properties.agencyId(), 50, "Agency Id"); - protected static final ColumnConfig versionColumn = new ColumnConfig(properties.version(), 50, "Version"); - protected static final ColumnConfig descriptionColumn = new ColumnConfig(properties.description(), 50, "Description"); - - protected Grid grid; - - @SuppressWarnings("unchecked") - public DatasetSelectionPanel() - { - setHeaderVisible(false); - new Resizable(this, Dir.E, Dir.SE, Dir.S); - buildPanel(properties.key(), Arrays.>asList(nameColumn, agencyIdColumn, versionColumn, descriptionColumn), nameColumn); - } - - - protected void buildPanel(ModelKeyProvider keyProvider, List> columns, ColumnConfig autoexpandColumn) - { - - ToolBar toolBar = new ToolBar(); - toolBar.add(new LabelToolItem("Search: ")); - final TextField searchField = new TextField(); - toolBar.add(searchField); - - IdentityValueProvider identity = new IdentityValueProvider(); - final CheckBoxSelectionModel sm = new CheckBoxSelectionModel(identity); - - ColumnModel cm = new ColumnModel(columns); - - final ExtendedListStore store = new ExtendedListStore(keyProvider); - - searchField.addKeyUpHandler(new KeyUpHandler() { - - @Override - public void onKeyUp(KeyUpEvent event) { - Log.trace("searchTerm: "+searchField.getCurrentValue()); - store.applyFilters(); - } - }); - - store.addFilter(new StoreFilter() { - - @Override - public boolean select(Store store, Dataset parent, Dataset item) { - String searchTerm = searchField.getCurrentValue(); - if (searchTerm == null) return true; - return DatasetSelectionPanel.this.select(item, searchTerm); - } - }); - - store.setEnableFilters(true); - - RpcProxy> proxy = new RpcProxy>() { - - - public void load(ListLoadConfig loadConfig, final AsyncCallback> callback) { - loadData(loadConfig, callback); - } - }; - final ListLoader> loader = new ListLoader>(proxy); - - loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>(store)); - - grid = new Grid(store, cm){ - @Override - protected void onAfterFirstAttach() { - super.onAfterFirstAttach(); - Scheduler.get().scheduleDeferred(new ScheduledCommand() { - @Override - public void execute() { - loader.load(); - } - }); - } - }; - - grid.setLoader(loader); - grid.setSelectionModel(sm); - grid.getView().setAutoExpandColumn(autoexpandColumn); - grid.getView().setStripeRows(true); - grid.getView().setColumnLines(true); - grid.getView().setAutoFill(true); - grid.setBorders(false); - grid.setLoadMask(true); - - grid.setColumnReordering(true); - - VerticalLayoutContainer con = new VerticalLayoutContainer(); - con.add(toolBar, new VerticalLayoutData(1, -1)); - con.add(grid, new VerticalLayoutData(1, 1)); - setWidget(con); - } - - - - protected boolean select(Dataset item, String searchTerm) { - if (item.getName()!=null && item.getName().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getAgencyId()!=null &&item.getAgencyId().toLowerCase().contains(searchTerm.toLowerCase())) return true; - if (item.getId()!=null &&item.getId().toLowerCase().contains(searchTerm.toLowerCase())) return true; - return false; - } - - - protected void loadData(ListLoadConfig loadConfig, final AsyncCallback> callback) { - SDMXExportWizardServiceAsync.INSTANCE.getDatasets(new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - callback.onFailure(caught); - } - - @Override - public void onSuccess(List result) { - Log.trace("loaded "+result.size()+" datasets"); - callback.onSuccess(new ListLoadResultBean(result)); - } - }); - } - - - @Override - public HandlerRegistration addSelectionHandler(SelectionHandler handler) { - return grid.getSelectionModel().addSelectionHandler(handler); - } - - - public List getSelectedItems() { - return grid.getSelectionModel().getSelectedItems(); - } - - protected class ExtendedListStore extends ListStore { - - public ExtendedListStore(ModelKeyProvider keyProvider) { - super(keyProvider); - } - - public void applyFilters() - { - super.applyFilters(); - } - - } - - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgenciesSelectionCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgenciesSelectionCard.java deleted file mode 100644 index 99b3a45..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgenciesSelectionCard.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Agencies; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; - -import com.google.gwt.event.logical.shared.SelectionEvent; -import com.google.gwt.event.logical.shared.SelectionHandler; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXAgenciesSelectionCard extends WizardCard { - - protected SDMXAgenciesSelectionCard thisCard; - protected SDMXExportSession exportSession; - protected AgenciesSelectionPanel agenciesSelectionPanel; - protected Agencies selectedAgencies=null; - - public SDMXAgenciesSelectionCard(final SDMXExportSession exportSession) { - super("SDMX Agencies selection", ""); - - this.exportSession = exportSession; - thisCard=this; - - this.agenciesSelectionPanel=new AgenciesSelectionPanel(res); - - agenciesSelectionPanel.addSelectionHandler(new SelectionHandler(){ - - @Override - public void onSelection(SelectionEvent event) { - exportSession.setAgency(agenciesSelectionPanel.getSelectedItem()); - getWizardWindow().setEnableNextButton(true); - - } - - }); - - setContent(agenciesSelectionPanel); - - } - - - @Override - public void setup(){ - /*Command sayNextCard = new Command() { - - @Override - public void execute() { - SDMXTableDetailCard sdmxTableDetailCard = new SDMXTableDetailCard( - importSession); - getWizardWindow() - .addCard(sdmxTableDetailCard); - Log.info("NextCard SDMXTableDetailCard"); - getWizardWindow().nextCard(); - - } - - }; - - getWizardWindow().setNextButtonCommand(sayNextCard); - - - Command sayPreviousCard = new Command() { - public void execute() { - try { - getWizardWindow().previousCard(); - getWizardWindow().removeCard(thisCard); - Log.info("Remove SDMXCodelistSelectionCard"); - } catch (Exception e) { - Log.error("sayPreviousCard :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setPreviousButtonCommand(sayPreviousCard); - getWizardWindow().setEnableNextButton(false); - */ - } - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgencyTypeCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgencyTypeCard.java deleted file mode 100644 index 9d029a8..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXAgencyTypeCard.java +++ /dev/null @@ -1,121 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Agencies; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.event.logical.shared.ValueChangeEvent; -import com.google.gwt.event.logical.shared.ValueChangeHandler; -import com.google.gwt.user.client.ui.HasValue; -import com.google.gwt.user.client.ui.VerticalPanel; -import com.sencha.gxt.core.client.util.ToggleGroup; -import com.sencha.gxt.widget.core.client.form.Radio; - -/** - * - * @author "Giancarlo Panichi" g.panichi@isti.cnr.it - * - */ -public class SDMXAgencyTypeCard extends WizardCard { - - protected final SDMXExportSession exportSession; - - protected Agencies agency; - - public SDMXAgencyTypeCard(final SDMXExportSession exportSession) { - super("SDMX agency type", ""); - - this.exportSession = exportSession; - - agency = new Agencies(); - //agency.setNewAgency(false); - exportSession.setAgency(agency); - - VerticalPanel selectionPanel = new VerticalPanel(); - selectionPanel.setStylePrimaryName(res.sdmxExportCss() - .getExportSelectionSources()); - - Radio radioSDMXAgencyPresent = new Radio(); - - radioSDMXAgencyPresent - .setBoxLabel("

Agencies Present
Select from the agencies already present in the registry

"); - radioSDMXAgencyPresent.setValue(true); - radioSDMXAgencyPresent.setName("present"); - radioSDMXAgencyPresent.setStylePrimaryName(res.sdmxExportCss() - .getExportSelectionSource()); - - Radio radioSDMXAgencyNew = new Radio(); - radioSDMXAgencyNew - .setBoxLabel("

New Agencies
Creates a new agency in the registry

"); - radioSDMXAgencyNew.setName("new"); - radioSDMXAgencyNew.setStylePrimaryName(res.sdmxExportCss() - .getExportSelectionSource()); - - selectionPanel.add(radioSDMXAgencyPresent); - selectionPanel.add(radioSDMXAgencyNew); - - // we can set name on radios or use toggle group - ToggleGroup toggle = new ToggleGroup(); - toggle.add(radioSDMXAgencyPresent); - toggle.add(radioSDMXAgencyNew); - - toggle.addValueChangeHandler(new ValueChangeHandler>() { - - @Override - public void onValueChange(ValueChangeEvent> event) { - try { - ToggleGroup group = (ToggleGroup) event.getSource(); - Radio radio = (Radio) group.getValue(); - Log.info("Agency type: " + radio.getName()); - if (radio.getName().compareTo("present") == 0) { - //exportSession.getAgency().setNewAgency(false); - } else { - if (radio.getName().compareTo("new") == 0) { - //exportSession.getAgency().setNewAgency(true); - } else { - - } - - } - } catch (Exception e) { - Log.error("ToggleGroup: onValueChange " - + e.getLocalizedMessage()); - } - - } - }); - - setContent(selectionPanel); - - } - - @Override - public void setup() { - /*Log.info("Agency New: "+exportSession.getAgency().isNewAgency()); - if (exportSession.getAgency().isNewAgency()) { - } else { - Command sayNextCard = new Command() { - public void execute() { - try { - SDMXAgenciesSelectionCard sdmxAgenciesSelectionCard = new SDMXAgenciesSelectionCard( - exportSession); - getWizardWindow().addCard(sdmxAgenciesSelectionCard); - Log.info("NextCard SDMXAgenciesSelectionCard"); - getWizardWindow().nextCard(); - } catch (Exception e) { - Log.error("sayNextCard :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setNextButtonCommand(sayNextCard); - - }*/ - } - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXCodelistSelectionCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXCodelistSelectionCard.java deleted file mode 100644 index ddb6c45..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXCodelistSelectionCard.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Codelist; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.event.logical.shared.SelectionEvent; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.user.client.Command; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXCodelistSelectionCard extends WizardCard { - - protected SDMXCodelistSelectionCard thisCard; - protected SDMXExportSession importSession; - protected CodelistSelectionPanel codelistSelectionPanel; - protected Codelist selectedCodelist=null; - public SDMXCodelistSelectionCard(final SDMXExportSession importSession) { - super("SDMX Codelist selection", ""); - - this.importSession = importSession; - thisCard=this; - - this.codelistSelectionPanel=new CodelistSelectionPanel(res); - - codelistSelectionPanel.addSelectionHandler(new SelectionHandler() { - - @Override - public void onSelection(SelectionEvent event) { - importSession.setSelectedCodelist(codelistSelectionPanel.getSelectedItem()); - getWizardWindow().setEnableNextButton(true); - } - - - }); - - setContent(codelistSelectionPanel); - - } - - - @Override - public void setup(){ - Command sayNextCard = new Command() { - - @Override - public void execute() { - SDMXTableDetailCard sdmxTableDetailCard = new SDMXTableDetailCard( - importSession); - getWizardWindow() - .addCard(sdmxTableDetailCard); - Log.info("NextCard SDMXTableDetailCard"); - getWizardWindow().nextCard(); - - } - - }; - - getWizardWindow().setNextButtonCommand(sayNextCard); - - - Command sayPreviousCard = new Command() { - public void execute() { - try { - getWizardWindow().previousCard(); - getWizardWindow().removeCard(thisCard); - Log.info("Remove SDMXCodelistSelectionCard"); - } catch (Exception e) { - Log.error("sayPreviousCard :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setPreviousButtonCommand(sayPreviousCard); - getWizardWindow().setEnableNextButton(false); - } - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXDatasetSelectionCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXDatasetSelectionCard.java deleted file mode 100644 index e81d01f..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXDatasetSelectionCard.java +++ /dev/null @@ -1,56 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.user.client.Command; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXDatasetSelectionCard extends WizardCard { - - protected SDMXDatasetSelectionCard thisCard; - protected SDMXExportSession importSession; - protected DatasetSelectionPanel datasetSelectionPanel; - - public SDMXDatasetSelectionCard(final SDMXExportSession importSession) { - super("SDMX Dataset selection", ""); - - this.importSession = importSession; - - thisCard=this; - - this.datasetSelectionPanel=new DatasetSelectionPanel(); - - setContent(datasetSelectionPanel); - - } - - - @Override - public void setup(){ - Command sayPreviousCard = new Command() { - public void execute() { - try { - getWizardWindow().previousCard(); - getWizardWindow().removeCard(thisCard); - Log.info("Remove SDMXDatasetSelectionCard"); - - } catch (Exception e) { - Log.error("sayPreviousCard :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setPreviousButtonCommand(sayPreviousCard); - } - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTD.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTD.java deleted file mode 100644 index 1f52a63..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTD.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardWindow; -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; - -import com.google.gwt.user.client.rpc.AsyncCallback; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - * Entry point classes define onModuleLoad(). - * - */ -public class SDMXExportWizardTD extends WizardWindow { - - protected SDMXExportSession exportSession; - - - /** - * The id of the {@link CSVTarget} to use. - * @param targetId - */ - - @SuppressWarnings({ "unchecked", "rawtypes" }) - public SDMXExportWizardTD(String title) { - super(title); - setWidth(550); - setHeight(520); - - exportSession= new SDMXExportSession(); - - SDMXExportWizardServiceAsync.INSTANCE.setSDMXSession(exportSession,new AsyncCallback() { - - @Override - public void onFailure(Throwable caught) { - // TODO Auto-generated method stub - - } - - @Override - public void onSuccess(Object result) { - // TODO Auto-generated method stub - - } - }); - - SDMXAgencyTypeCard sdmxAgencyType= new SDMXAgencyTypeCard(exportSession); - addCard(sdmxAgencyType); - - SDMXAgenciesSelectionCard sdmxAgenciesSelection= new SDMXAgenciesSelectionCard(exportSession); - addCard(sdmxAgenciesSelection); - - - - - } - - -} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTDEntry.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTDEntry.java deleted file mode 100644 index f9fe573..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXExportWizardTDEntry.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - - - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.core.client.EntryPoint; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXExportWizardTDEntry implements EntryPoint { - - @Override - public void onModuleLoad() { - SDMXExportWizardTD exportWizard= new SDMXExportWizardTD("SDMXExport"); - Log.info(exportWizard.getId()); - } -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXOperationInProgressCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXOperationInProgressCard.java deleted file mode 100644 index 8bbd312..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXOperationInProgressCard.java +++ /dev/null @@ -1,157 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.client.progress.ImportProgressBarUpdater; -import org.gcube.portlets.user.sdmxexportwizardtd.client.progress.OperationProgressListener; -import org.gcube.portlets.user.sdmxexportwizardtd.client.progress.OperationProgressUpdater; -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; -import org.gcube.portlets.user.td.gxtservice.shared.TRId; - -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.google.gwt.user.client.ui.FlexTable; -import com.sencha.gxt.core.client.util.Margins; -import com.sencha.gxt.widget.core.client.FramedPanel; -import com.sencha.gxt.widget.core.client.ProgressBar; -import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; -import com.sencha.gxt.widget.core.client.container.VBoxLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VBoxLayoutContainer.VBoxLayoutAlign; - -//import com.allen_sauer.gwt.log.client.Log; -//import com.google.gwt.user.client.Command; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXOperationInProgressCard extends WizardCard - implements OperationProgressListener { - - public static final int STATUS_POLLING_DELAY = 1000; - protected SDMXOperationInProgressCard thisCard; - protected SDMXExportSession importSession; - protected OperationProgressUpdater progressUpdater; - - - - public SDMXOperationInProgressCard(final SDMXExportSession importSession) { - super("Operation In Progress", ""); - - this.importSession = importSession; - thisCard=this; - - VBoxLayoutContainer operationInProgressPanel = new VBoxLayoutContainer(); - operationInProgressPanel.setVBoxLayoutAlign(VBoxLayoutAlign.CENTER); - - final FlexTable description = new FlexTable(); - //FlexCellFormatter cellFormatter = description.getFlexCellFormatter(); - description.setCellSpacing(10); - description.setCellPadding(4); - description.setBorderWidth(0); - - - - FramedPanel summary = new FramedPanel(); - summary.setHeadingText("Import Summary"); - summary.setWidth(400); - summary.add(description); - operationInProgressPanel.add(summary, new BoxLayoutData(new Margins(20,5,10,5))); - - ProgressBar progressBar = new ProgressBar(); - operationInProgressPanel.add(progressBar, new BoxLayoutData(new Margins(10,5,10,5))); - - progressUpdater = new OperationProgressUpdater(); - progressUpdater.addListener(new ImportProgressBarUpdater(progressBar)); - - progressUpdater.addListener(this); - - setContent(operationInProgressPanel); - - } - - - - public void exportSDMX() - { - SDMXExportWizardServiceAsync.INSTANCE.exportSDMXClientLibraryRequest(importSession, new AsyncCallback() { - - @Override - public void onSuccess(Void result) { - progressUpdater.scheduleRepeating(STATUS_POLLING_DELAY); - } - - @Override - public void onFailure(Throwable caught) { - showErrorAndHide("Error in exportSDMX", "An error occured in exportSDMX", "", caught); - } - }); - } - - - @Override - public void setup(){ - getWizardWindow().setEnableBackButton(false); - setBackButtonVisible(false); - setNextButtonVisible(false); - getWizardWindow().setEnableNextButton(false); - getWizardWindow().setNextButtonToFinish(); - exportSDMX(); - } - - - - @Override - public void operationInitializing() { - - } - - - @Override - public void operationUpdate(float elaborated) { - - } - - @Override - public void operationComplete(final TRId trId){ - // final String tableId,final String tableResourceId) { - - Command sayComplete = new Command() { - public void execute() { - try { - getWizardWindow().close(false); - Log.info("fire Complete: tabular resource "+trId.getId()); - Log.info("fire Complete: tableId "+trId.getTableId()); - - getWizardWindow().fireCompleted(trId); - - } catch (Exception e) { - Log.error("fire Complete :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setNextButtonCommand(sayComplete); - - setNextButtonVisible(true); - getWizardWindow().setEnableNextButton(true); - } - - - @Override - public void operationFailed(Throwable caught, String reason, - String failureDetails) { - - - } - - - - -} diff --git a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXTableDetailCard.java b/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXTableDetailCard.java deleted file mode 100644 index 0cf1e6d..0000000 --- a/src/main/java/org/gcube/portlets/user/sdmxexportwizardtd/client/SDMXTableDetailCard.java +++ /dev/null @@ -1,317 +0,0 @@ -/** - * - */ -package org.gcube.portlets.user.sdmxexportwizardtd.client; - -import java.util.List; - -import org.gcube.portlets.user.sdmxexportwizardtd.client.general.WizardCard; -import org.gcube.portlets.user.sdmxexportwizardtd.client.rpc.SDMXExportWizardServiceAsync; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.Agencies; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.SDMXExportSession; -import org.gcube.portlets.user.sdmxexportwizardtd.shared.TableDetail; - -import com.allen_sauer.gwt.log.client.Log; -import com.google.gwt.core.client.GWT; -import com.google.gwt.event.logical.shared.SelectionEvent; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.event.logical.shared.ValueChangeEvent; -import com.google.gwt.event.logical.shared.ValueChangeHandler; -import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.HasValue; -import com.google.gwt.user.client.ui.VerticalPanel; -import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction; -import com.sencha.gxt.core.client.util.ToggleGroup; -import com.sencha.gxt.data.client.loader.RpcProxy; -import com.sencha.gxt.data.shared.LabelProvider; -import com.sencha.gxt.data.shared.ListStore; -import com.sencha.gxt.data.shared.loader.LoadResultListStoreBinding; -import com.sencha.gxt.data.shared.loader.PagingLoadConfig; -import com.sencha.gxt.data.shared.loader.PagingLoadResult; -import com.sencha.gxt.data.shared.loader.PagingLoadResultBean; -import com.sencha.gxt.data.shared.loader.PagingLoader; -import com.sencha.gxt.widget.core.client.FramedPanel; -import com.sencha.gxt.widget.core.client.container.HorizontalLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; -import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; -import com.sencha.gxt.widget.core.client.form.ComboBox; -import com.sencha.gxt.widget.core.client.form.FieldLabel; -import com.sencha.gxt.widget.core.client.form.FieldSet; -import com.sencha.gxt.widget.core.client.form.Radio; -import com.sencha.gxt.widget.core.client.form.TextArea; -import com.sencha.gxt.widget.core.client.form.TextField; -import com.sencha.gxt.widget.core.client.info.Info; - -/** - * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it - * - */ -public class SDMXTableDetailCard extends WizardCard { - - protected SDMXExportSession importSession; - protected SDMXTableDetailCard thisCard; - - protected static final AgenciesProperties agenciesProperties = GWT.create(AgenciesProperties.class); - protected VerticalLayoutContainer p = new VerticalLayoutContainer(); - //private final ComboBox combo2; - protected VerticalPanel tableDetailPanel; - - //private static TextField agencyName=null; - - protected TextField name; - protected TextArea description; - protected TextField right; - protected ComboBox combo=null; - - TableDetail detail=new TableDetail(); - - - - public SDMXTableDetailCard(final SDMXExportSession importSession) { - super("SDMX Table Detail", ""); - - this.importSession = importSession; - thisCard=this; - - - tableDetailPanel = new VerticalPanel(); - - tableDetailPanel.setSpacing(4); - tableDetailPanel.setWidth("100%"); - tableDetailPanel.setHeight("100%"); - - - FramedPanel form2 = new FramedPanel(); - form2.setHeadingText("Details"); - //form2.setWidth(350); - - FieldSet fieldSet = new FieldSet(); - fieldSet.setHeadingText("Information"); - fieldSet.setCollapsible(true); - form2.add(fieldSet); - - //VerticalLayoutContainer p = new VerticalLayoutContainer(); - fieldSet.add(p); - - name = new TextField(); - name.setAllowBlank(false); - name.setEmptyText("Enter a name..."); - name.setValue(importSession.getSelectedCodelist().getName()); - p.add(new FieldLabel(name, "Name"), new VerticalLayoutData(1, -1)); - - - description = new TextArea(); - description.setAllowBlank(false); - description.setEmptyText("Enter a description..."); - description.setValue(importSession.getSelectedCodelist().getDescription()); - p.add(new FieldLabel(description, "Description"), new VerticalLayoutData(1, -1)); - - right = new TextField(); - right.setEmptyText("Enter right..."); - right.setAllowBlank(false); - p.add(new FieldLabel(right, "Right"), new VerticalLayoutData(1, -1)); - - - ListStore agenciesStore = new ListStore(agenciesProperties.key()); - - RpcProxy> proxy = new RpcProxy>() { - - - public void load(PagingLoadConfig loadConfig, final AsyncCallback> callback) { - loadData(loadConfig, callback); - } - }; - - - final PagingLoader> loader = new PagingLoader>(proxy); - - loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>(agenciesStore)); - - //agenciesStore.addAll(TestData.getStates()); - - combo = new ComboBox(agenciesStore, agenciesProperties.nameLabel()); - addHandlersForEventObservation(combo, agenciesProperties.nameLabel()); - - combo.setLoader(loader); - combo.setEmptyText("Enter Agency..."); - combo.setTriggerAction(TriggerAction.ALL); - combo.setAllowBlank(false); - combo.setForceSelection(true); - combo.setVisible(true); - - - - //HorizontalLayoutContainer agenciesSelect= selectAgencies(); - p.add(new FieldLabel(combo, "Agencies"), new VerticalLayoutData(1, -1)); - - /*FieldLabel comboLabel=new FieldLabel(combo, ""); - comboLabel.setLabelSeparator(""); - p.add(comboLabel, new VerticalLayoutData(1, -1)); - - - agencyName = new TextField(); - agencyName.setVisible(false); - agencyName.setEmptyText("Enter Agency..."); - FieldLabel agencyNameLabel=new FieldLabel(agencyName, ""); - agencyNameLabel.setLabelSeparator(""); - p.add(agencyNameLabel, new VerticalLayoutData(1, -1)); - */ - tableDetailPanel.add(form2); - - setContent(tableDetailPanel); - - } - - - protected void loadData(PagingLoadConfig loadConfig, final AsyncCallback> callback) { - SDMXExportWizardServiceAsync.INSTANCE.getAgencies(new AsyncCallback>() { - - @Override - public void onFailure(Throwable caught) { - callback.onFailure(caught); - } - - @Override - public void onSuccess(List result) { - Log.trace("loaded "+result.size()+" agencies"); - for(int i=0; i(result, result.size(), 0)); - } - }); - } - - /** - * Helper to add handlers to observe events that occur on each combobox - */ - private void addHandlersForEventObservation(final ComboBox combo, final LabelProvider labelProvider) { - combo.addValueChangeHandler(new ValueChangeHandler() { - @Override - public void onValueChange(ValueChangeEvent event) { - - Info.display("Value Changed", "New value: " - + (event.getValue() == null ? combo.getValue() : labelProvider.getLabel(event.getValue()) + "!")); - } - }); - combo.addSelectionHandler(new SelectionHandler() { - @Override - public void onSelection(SelectionEvent event) { - Info.display("Agency Selected", "You selected " - + (event.getSelectedItem() == null ? combo.getValue() : labelProvider.getLabel(event.getSelectedItem()) + "!")); - } - }); - } - - @Override - public void setup(){ - Command sayNextCard = new Command() { - - @Override - public void execute() { - detail.setName(name.getCurrentValue()); - detail.setAgency(combo.getSelectedText()); - detail.setDescription(description.getCurrentValue()); - detail.setRight(right.getCurrentValue()); - - importSession.setTableDetail(detail); - SDMXOperationInProgressCard sdmxOperationInProgressCard = new SDMXOperationInProgressCard( - importSession); - getWizardWindow() - .addCard(sdmxOperationInProgressCard); - Log.info("NextCard SDMXOperationInProgressCard"); - getWizardWindow().nextCard(); - - } - - }; - - getWizardWindow().setNextButtonCommand(sayNextCard); - - - Command sayPreviousCard = new Command() { - public void execute() { - try { - getWizardWindow().previousCard(); - getWizardWindow().removeCard(thisCard); - Log.info("Remove SDMXTableDetailCard"); - } catch (Exception e) { - Log.error("sayPreviousCard :" + e.getLocalizedMessage()); - } - } - }; - - getWizardWindow().setPreviousButtonCommand(sayPreviousCard); - getWizardWindow().setEnableNextButton(true); - - } - - - - private HorizontalLayoutContainer selectAgencies(){ - - - - HorizontalLayoutContainer documentSelectionPanel = new HorizontalLayoutContainer(); - - Radio radioAgenciesAlready = new Radio(); - - radioAgenciesAlready.setBoxLabel("Present"); - radioAgenciesAlready.setValue(true); - radioAgenciesAlready.setName("Agencies"); - - Radio radioAgencyNew = new Radio(); - radioAgencyNew.setBoxLabel("New"); - radioAgencyNew.setName("AgencyNew"); - - - documentSelectionPanel.add(radioAgenciesAlready); - documentSelectionPanel.add(radioAgencyNew); - - - // we can set name on radios or use toggle group - ToggleGroup toggle = new ToggleGroup(); - toggle.add(radioAgenciesAlready); - toggle.add(radioAgencyNew); - - toggle.addValueChangeHandler(new ValueChangeHandler>() { - - @Override - public void onValueChange(ValueChangeEvent> event) { - try { - ToggleGroup group = (ToggleGroup) event.getSource(); - Radio radio = (Radio) group.getValue(); - Log.info("Document Selected:" + radio.getName()); - if (radio.getName().compareTo("AgencyNew") == 0) { - /*agencyName.setVisible(true); - combo.setVisible(false); - */ - } else { - if (radio.getName().compareTo("Agency") == 0) { - /*agencyName.setVisible(false); - combo.setVisible(true); - */ - } else { - - } - - } - - } catch (Exception e) { - Log.error("ToggleGroup: onValueChange " + e.getLocalizedMessage()); - } - - } - }); - - return documentSelectionPanel; - - } - -}