From b8200c67fc34cd171e5caf57a2a9241d40877bba Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 11 Apr 2014 14:12:21 +0000 Subject: [PATCH] Update ReplaceBatch git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@94769 82a268e6-3cf1-43bd-a215-b396298e98cf --- .gwt/.gwt-log | 96 +++++ .../client/ChangeColumnTypePanel.java | 4 +- .../client/batch/ReplaceBatchPanel.java | 122 +++++-- .../batch/SingleValueReplaceDialog.java | 8 +- .../batch/SingleValueReplaceListener.java | 6 +- .../dimension/ConnectCodelistDialog.java | 333 ++++++++++++++++++ .../dimension/ConnectCodelistListener.java | 33 ++ .../DimensionRowSelectionDialog.java | 6 +- .../DimensionRowSelectionListener.java | 6 +- .../client/replace/ReplacePanel.java | 6 +- .../client/resources/ResourceBundle.java | 6 + .../client/resources/codelist-link.png | Bin 0 -> 856 bytes .../client/resources/codelist-link_32.png | Bin 0 -> 1831 bytes .../client/resources/codelist-link.png | Bin 0 -> 856 bytes .../client/resources/codelist-link_32.png | Bin 0 -> 1831 bytes 15 files changed, 586 insertions(+), 40 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistDialog.java create mode 100644 src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistListener.java create mode 100644 src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png create mode 100644 src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link_32.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png create mode 100644 src/main/resources/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link_32.png diff --git a/.gwt/.gwt-log b/.gwt/.gwt-log index 643c2ff..89d33fb 100644 --- a/.gwt/.gwt-log +++ b/.gwt/.gwt-log @@ -2536,3 +2536,99 @@ Compiling... Compilation completed in 0.00 seconds Removing invalidated units Finding entry point classes +Public resources found in... +Translatable source found in... +Found 0 cached/archived units. Used 0 / 2719 units from cache. +Compiling... + 10% complete (ETR: 22 seconds) + 10% complete (ETR: 22 seconds) + 20% complete (ETR: 21 seconds) + 30% complete (ETR: 16 seconds) + 40% complete (ETR: 11 seconds) + 50% complete (ETR: 9 seconds) + 60% complete (ETR: 7 seconds) + 70% complete (ETR: 5 seconds) + 80% complete (ETR: 3 seconds) + 90% complete (ETR: 1 seconds) + 100% complete (ETR: 0 seconds) + Compilation completed in 18.15 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 0 cached/archived units. Used 0 / 2719 units from cache. +Compiling... + 20% complete (ETR: 15 seconds) + 20% complete (ETR: 15 seconds) + 20% complete (ETR: 15 seconds) + 30% complete (ETR: 14 seconds) + 40% complete (ETR: 11 seconds) + 50% complete (ETR: 9 seconds) + 60% complete (ETR: 7 seconds) + 70% complete (ETR: 7 seconds) + 80% complete (ETR: 4 seconds) + 90% complete (ETR: 2 seconds) + 100% complete (ETR: 0 seconds) + Compilation completed in 21.55 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 0 cached/archived units. Used 0 / 2719 units from cache. +Compiling... + 50% complete (ETR: 5 seconds) + 50% complete (ETR: 5 seconds) + 50% complete (ETR: 5 seconds) + 50% complete (ETR: 5 seconds) + 50% complete (ETR: 5 seconds) + 50% complete (ETR: 5 seconds) + 60% complete (ETR: 3 seconds) + 70% complete (ETR: 2 seconds) + 80% complete (ETR: 1 seconds) + 90% complete (ETR: 1 seconds) + 100% complete (ETR: 0 seconds) + Compilation completed in 17.30 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes +Public resources found in... +Translatable source found in... +Found 2719 cached/archived units. Used 2719 / 2719 units from cache. +Compiling... + Compilation completed in 0.00 seconds +Removing invalidated units +Finding entry point classes diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java index 188c6fa..5034353 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/ChangeColumnTypePanel.java @@ -860,7 +860,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements public void selected(TabResource tabResource) { Log.debug("Selected Codelist: " + tabResource); comboDimensionType.setValue(tabResource); - retriveColumnData(tabResource); + retrieveColumnData(tabResource); } @Override @@ -876,7 +876,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements } - protected void retriveColumnData(TabResource tabResource) { + protected void retrieveColumnData(TabResource tabResource) { TDGWTServiceAsync.INSTANCE.getColumnsForDimension( tabResource.getTrId(), new AsyncCallback>() { diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceBatchPanel.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceBatchPanel.java index c96cd6b..f6fa390 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceBatchPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/ReplaceBatchPanel.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.td.columnwidget.client.custom.ActionButtonCell; +import org.gcube.portlets.user.td.columnwidget.client.dimension.ConnectCodelistDialog; +import org.gcube.portlets.user.td.columnwidget.client.dimension.ConnectCodelistListener; import org.gcube.portlets.user.td.columnwidget.client.dimension.DimensionRowSelectionDialog; import org.gcube.portlets.user.td.columnwidget.client.dimension.DimensionRowSelectionListener; import org.gcube.portlets.user.td.columnwidget.client.properties.ShowOccurrencesTypeProperties; @@ -81,7 +83,7 @@ import com.sencha.gxt.widget.core.client.toolbar.ToolBar; * */ public class ReplaceBatchPanel extends FramedPanel implements - SingleValueReplaceListener, DimensionRowSelectionListener { + SingleValueReplaceListener, DimensionRowSelectionListener, ConnectCodelistListener { protected String WIDTH = "560px"; protected String HEIGHT = "520px"; protected EventBus eventBus; @@ -100,8 +102,12 @@ public class ReplaceBatchPanel extends FramedPanel implements private TextButton btnSave; private TextButton btnClose; + private TextButton btnConnect; + private ComboBox comboShowOccurrencesType = null; + + protected ListLoader> loader; protected Grid grid; @@ -159,6 +165,24 @@ public class ReplaceBatchPanel extends FramedPanel implements toolBarHead.add(comboShowOccurrencesType); + //Connect Codelist + btnConnect = new TextButton("Connect"); + btnConnect.setIcon(ResourceBundle.INSTANCE.codelistLink()); + btnConnect.setIconAlign(IconAlign.RIGHT); + btnConnect.setTitle("Connect"); + btnConnect.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + Log.debug("Pressed Connect"); + btnConnect.disable(); + connectCodelist(); + + } + + + }); + + toolBarHead.add(btnConnect, new BoxLayoutData(new Margins(10,0,0,0))); // Create Grid IdentityValueProvider identity = new IdentityValueProvider(); @@ -332,6 +356,9 @@ public class ReplaceBatchPanel extends FramedPanel implements add(v); } + + + protected void retrieveColumn() { TDGWTServiceAsync.INSTANCE.getColumn(trId, columnName, @@ -385,6 +412,11 @@ public class ReplaceBatchPanel extends FramedPanel implements }); } + + + + + protected void addHandlersForShowOccurrencesType( final LabelProvider labelProvider) { comboShowOccurrencesType @@ -529,6 +561,7 @@ public class ReplaceBatchPanel extends FramedPanel implements } } + protected void startReplaceBatch( ArrayList effectiveReplaceList) { ReplaceBatchColumnSession replaceBatchColumnSession = new ReplaceBatchColumnSession( @@ -562,27 +595,7 @@ public class ReplaceBatchPanel extends FramedPanel implements } @Override - public void selected(String replaceValue) { - Log.debug("Change Value: " + replaceValue); - currentReplaceEntry.setReplacementValue(replaceValue); - store.update(currentReplaceEntry); - updateInfo(); - } - - @Override - public void aborted() { - Log.debug("Change Value Aborted"); - - } - - @Override - public void failed(String reason, String detail) { - Log.error("Change Value Failed:" + reason + " " + detail); - - } - - @Override - public void selected(DimensionRow dimensionRow) { + public void selectedDimensionRow(DimensionRow dimensionRow) { Log.debug("Change Value: " + dimensionRow); currentReplaceEntry.setReplacementValue(dimensionRow.getValue()); currentReplaceEntry.setReplacementDimensionRow(dimensionRow); @@ -590,4 +603,69 @@ public class ReplaceBatchPanel extends FramedPanel implements updateInfo(); } + @Override + public void abortedDimensionRowSelection() { + Log.debug("Change Value Aborted"); + + } + + @Override + public void failedDimensionRowSelection(String reason, String detail) { + Log.error("Change Value Failed:" + reason + " " + detail); + + } + + + @Override + public void selectedSingleValueReplace(String replaceValue) { + Log.debug("Change Value: " + replaceValue); + currentReplaceEntry.setReplacementValue(replaceValue); + store.update(currentReplaceEntry); + updateInfo(); + } + + @Override + public void abortedSingleValueReplace() { + Log.debug("Change Value Aborted"); + + } + + @Override + public void failedSingleValueReplace(String reason, String detail) { + Log.error("Change Value Failed:" + reason + " " + detail); + + } + + private void connectCodelist() { + Log.debug("callConnectCodelistDialog"); + + ConnectCodelistDialog connectCodelistDialog = new ConnectCodelistDialog( + eventBus); + connectCodelistDialog.addListener(this); + connectCodelistDialog.show(); + + } + + + @Override + public void selectedConnectCodelist(ColumnData connection) { + Log.debug("Selected connection: "+connection); + btnConnect.enable(); + } + + @Override + public void abortedConnectCodelist() { + Log.debug("Connection Aborted"); + btnConnect.enable(); + } + + @Override + public void failedConnectCodelist(String reason, String detail) { + Log.debug("Connection Failed: "+reason+" "+detail); + UtilsGXT3.alert("Error on connect", + reason); + btnConnect.enable(); + + } + } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceDialog.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceDialog.java index 16fb18b..721454d 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceDialog.java @@ -85,19 +85,19 @@ public class SingleValueReplaceDialog extends Window { public void fireCompleted(String replaceValue) { for (SingleValueReplaceListener listener : listeners) - listener.selected(replaceValue); + listener.selectedSingleValueReplace(replaceValue); hide(); } public void fireAborted() { for (SingleValueReplaceListener listener : listeners) - listener.aborted(); + listener.abortedSingleValueReplace(); hide(); } - public void fireFailed(String reason, String details) { + public void fireFailed(String reason, String detail) { for (SingleValueReplaceListener listener : listeners) - listener.failed(reason, details); + listener.failedSingleValueReplace(reason, detail); hide(); } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceListener.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceListener.java index af7c17b..55584a0 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceListener.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/batch/SingleValueReplaceListener.java @@ -11,12 +11,12 @@ public interface SingleValueReplaceListener { /** * Called when selected replaceValue without errors */ - public void selected(String replaceValue); + public void selectedSingleValueReplace(String replaceValue); /** * Called when the select operation is aborted by the user. */ - public void aborted(); + public void abortedSingleValueReplace(); /** * Called when the something in the wizard is failed. @@ -24,6 +24,6 @@ public interface SingleValueReplaceListener { * @param reason * @param detail */ - public void failed(String reason, String detail); + public void failedSingleValueReplace(String reason, String detail); } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistDialog.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistDialog.java new file mode 100644 index 0000000..e95538b --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistDialog.java @@ -0,0 +1,333 @@ +package org.gcube.portlets.user.td.columnwidget.client.dimension; + +import java.util.ArrayList; + +import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataProperties; +import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties; +import org.gcube.portlets.user.td.columnwidget.client.resources.ResourceBundle; +import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3; +import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; +import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; +import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; + +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.user.client.rpc.AsyncCallback; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign; +import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction; +import com.sencha.gxt.core.client.util.Margins; +import com.sencha.gxt.data.shared.LabelProvider; +import com.sencha.gxt.data.shared.ListStore; +import com.sencha.gxt.widget.core.client.FramedPanel; +import com.sencha.gxt.widget.core.client.Window; +import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; +import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack; +import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer; +import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign; +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.event.TriggerClickEvent; +import com.sencha.gxt.widget.core.client.event.TriggerClickEvent.TriggerClickHandler; +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.info.Info; + +public class ConnectCodelistDialog extends Window implements + CodelistSelectionListener { + protected String WIDTH = "500px"; + protected String HEIGHT = "150px"; + protected ArrayList listeners; + + protected ComboBox comboDimensionType = null; + protected FieldLabel comboDimensionTypeLabel; + protected ListStore storeComboDimensionType; + + protected ComboBox comboColumnReferenceType = null; + protected FieldLabel comboColumnReferenceTypeLabel; + protected ListStore storeComboColumnReferenceType; + + protected EventBus eventBus; + + private TextButton btnApply; + private TextButton btnClose; + + public ConnectCodelistDialog(EventBus eventBus) { + listeners = new ArrayList(); + this.eventBus = eventBus; + initWindow(); + create(); + + } + + protected void create() { + final FramedPanel panel = new FramedPanel(); + panel.setHeaderVisible(false); + panel.setBodyBorder(false); + + // Attach Codelist + // comboDimensionType + TabResourceProperties propsDimensionType = GWT + .create(TabResourceProperties.class); + storeComboDimensionType = new ListStore( + propsDimensionType.id()); + + comboDimensionType = new ComboBox(storeComboDimensionType, + propsDimensionType.label()); + Log.trace("ComboDimensionType created"); + + addHandlersForComboDimensionType(propsDimensionType.label()); + + comboDimensionType.setEmptyText("Select a Codelist..."); + comboDimensionType.setWidth(191); + comboDimensionType.setEditable(false); + comboDimensionType.setTriggerAction(TriggerAction.ALL); + + comboDimensionTypeLabel = new FieldLabel(comboDimensionType, "Codelist"); + + // ColumnReferenceType + ColumnDataProperties propsColumnReferenceType = GWT + .create(ColumnDataProperties.class); + storeComboColumnReferenceType = new ListStore( + propsColumnReferenceType.id()); + + comboColumnReferenceType = new ComboBox( + storeComboColumnReferenceType, propsColumnReferenceType.label()); + Log.trace("ComboColumnReferenceType created"); + + addHandlersForComboColumnReferenceType(propsColumnReferenceType.label()); + + comboColumnReferenceType.setEmptyText("Select a Column Reference..."); + comboColumnReferenceType.setWidth(191); + comboColumnReferenceType.setEditable(false); + comboColumnReferenceType.setTriggerAction(TriggerAction.ALL); + + comboColumnReferenceTypeLabel = new FieldLabel( + comboColumnReferenceType, "Column"); + + // Buttons + btnApply = new TextButton("Connect"); + btnApply.setIcon(ResourceBundle.INSTANCE.codelistLink()); + btnApply.setIconAlign(IconAlign.RIGHT); + btnApply.setTitle("Connect"); + btnApply.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + Log.debug("Pressed Connect"); + connectCodelist(); + + } + + }); + + btnClose = new TextButton("Close"); + btnClose.setIcon(ResourceBundle.INSTANCE.close()); + btnClose.setIconAlign(IconAlign.RIGHT); + btnClose.setTitle("Close"); + btnClose.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + Log.debug("Pressed Close"); + close(); + + } + }); + + HBoxLayoutContainer flowButton = new HBoxLayoutContainer(); + flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE); + flowButton.setPack(BoxLayoutPack.CENTER); + + flowButton.add(btnApply, new BoxLayoutData(new Margins(2, 4, 2, 4))); + flowButton.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4))); + + VerticalLayoutContainer v = new VerticalLayoutContainer(); + v.add(comboDimensionTypeLabel, new VerticalLayoutData(1, -1)); + v.add(comboColumnReferenceTypeLabel, new VerticalLayoutData(1, -1)); + v.add(flowButton, new VerticalLayoutData(-1, 36, + new Margins(5, 2, 5, 2))); + + panel.add(v); + + add(panel); + + comboColumnReferenceTypeLabel.setVisible(false); + + } + + protected void addHandlersForComboDimensionType( + final LabelProvider labelProvider) { + + comboDimensionType.addTriggerClickHandler(new TriggerClickHandler() { + + @Override + public void onTriggerClick(TriggerClickEvent event) { + Log.debug("ComboDimension TriggerClickEvent"); + callDialogCodelistSelection(); + comboDimensionType.collapse(); + + } + + }); + + } + + protected void addHandlersForComboColumnReferenceType( + final LabelProvider labelProvider) { + + comboColumnReferenceType + .addSelectionHandler(new SelectionHandler() { + public void onSelection(SelectionEvent event) { + Info.display( + "Column Reference Selected", + "You selected " + + (event.getSelectedItem() == null ? "nothing" + : labelProvider.getLabel(event + .getSelectedItem()) + + "!")); + Log.debug("ComboColumnReferenceType selected: " + + event.getSelectedItem()); + + } + + }); + + } + + private void connectCodelist() { + TabResource codelist = comboDimensionType.getCurrentValue(); + if (codelist == null) { + Log.debug("No codelist selected"); + UtilsGXT3.alert("Attention", "Select a valid codelist"); + } else { + ColumnData connection = comboColumnReferenceType.getCurrentValue(); + if (connection == null) { + Log.debug("No connection selected"); + UtilsGXT3.alert("Attention", "Select a valid column"); + } else { + fireCompleted(connection); + } + } + } + + protected void callDialogCodelistSelection() { + CodelistSelectionDialog dialogCodelistSelection = new CodelistSelectionDialog( + eventBus); + dialogCodelistSelection.addListener(this); + dialogCodelistSelection.show(); + } + + @Override + public void selected(TabResource tabResource) { + Log.debug("Selected Codelist: " + tabResource); + storeComboDimensionType.clear(); + storeComboDimensionType.add(tabResource); + storeComboDimensionType.commitChanges(); + comboDimensionType.setValue(tabResource); + retrieveConnectedColumnData(tabResource); + } + + @Override + public void aborted() { + Log.debug("Select Codelist Aborted"); + + } + + @Override + public void failed(String reason, String detail) { + Log.error("Select Codelist Failed[reason: " + reason + " , detail:" + + detail + "]"); + + } + + protected void retrieveConnectedColumnData(TabResource tabResource) { + TDGWTServiceAsync.INSTANCE.getColumnsForDimension( + tabResource.getTrId(), + new AsyncCallback>() { + + @Override + public void onFailure(Throwable caught) { + Log.debug("Error retrieving columns: " + + caught.getLocalizedMessage()); + UtilsGXT3.alert("Error retrieving columns", + "Error retrieving columns on server!"); + + } + + @Override + public void onSuccess(ArrayList result) { + storeComboColumnReferenceType.clear(); + storeComboColumnReferenceType.addAll(result); + storeComboColumnReferenceType.commitChanges(); + comboColumnReferenceTypeLabel.setVisible(true); + comboColumnReferenceType.setMinListWidth(191); + + } + }); + + } + + protected void initWindow() { + setWidth(WIDTH); + setHeight(HEIGHT); + setBodyBorder(false); + setResizable(false); + setHeadingText("Connect"); + setModal(true); + setClosable(true); + getHeader().setIcon(ResourceBundle.INSTANCE.codelistLink()); + + } + + /** + * {@inheritDoc} + */ + @Override + protected void initTools() { + super.initTools(); + + closeBtn.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + close(); + } + }); + + } + + protected void close() { + fireAborted(); + hide(); + } + + public void addListener(ConnectCodelistListener listener) { + listeners.add(listener); + } + + public void removeListener(ConnectCodelistListener listener) { + listeners.remove(listener); + } + + public void fireCompleted(ColumnData connection) { + for (ConnectCodelistListener listener : listeners) + listener.selectedConnectCodelist(connection); + hide(); + } + + public void fireAborted() { + for (ConnectCodelistListener listener : listeners) + listener.abortedConnectCodelist(); + hide(); + } + + public void fireFailed(String reason, String details) { + for (ConnectCodelistListener listener : listeners) + listener.failedConnectCodelist(reason, details); + hide(); + } + +} diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistListener.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistListener.java new file mode 100644 index 0000000..92ccd93 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/ConnectCodelistListener.java @@ -0,0 +1,33 @@ +package org.gcube.portlets.user.td.columnwidget.client.dimension; + +import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; + + + +/** + * + * @author "Giancarlo Panichi" + * g.panichi@isti.cnr.it + * + */ +public interface ConnectCodelistListener { + + /** + * Called when selected codelist without errors + */ + public void selectedConnectCodelist(ColumnData connection); + + /** + * Called when the select operation is aborted by the user. + */ + public void abortedConnectCodelist(); + + /** + * Called when the something in the wizard is failed. + * + * @param reason + * @param detail + */ + public void failedConnectCodelist(String reason, String detail); + +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionDialog.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionDialog.java index d4d25d2..14a9570 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionDialog.java @@ -186,19 +186,19 @@ public class DimensionRowSelectionDialog extends Window { public void fireCompleted(DimensionRow dimensionRow) { for (DimensionRowSelectionListener listener : listeners) - listener.selected(dimensionRow); + listener.selectedDimensionRow(dimensionRow); hide(); } public void fireAborted() { for (DimensionRowSelectionListener listener : listeners) - listener.aborted(); + listener.abortedDimensionRowSelection(); hide(); } public void fireFailed(String reason, String details) { for (DimensionRowSelectionListener listener : listeners) - listener.failed(reason, details); + listener.failedDimensionRowSelection(reason, details); hide(); } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionListener.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionListener.java index 9de8ab2..9a56a16 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionListener.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/dimension/DimensionRowSelectionListener.java @@ -15,12 +15,12 @@ public interface DimensionRowSelectionListener { /** * Called when selected one row of dimension or time dimension without errors */ - public void selected(DimensionRow dimensionRow); + public void selectedDimensionRow(DimensionRow dimensionRow); /** * Called when the select operation is aborted by the user. */ - public void aborted(); + public void abortedDimensionRowSelection(); /** * Called when the something in the wizard is failed. @@ -28,6 +28,6 @@ public interface DimensionRowSelectionListener { * @param reason * @param detail */ - public void failed(String reason, String detail); + public void failedDimensionRowSelection(String reason, String detail); } \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/replace/ReplacePanel.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/replace/ReplacePanel.java index 7e1dfce..1c1e786 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/replace/ReplacePanel.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/replace/ReplacePanel.java @@ -378,14 +378,14 @@ public class ReplacePanel extends FramedPanel implements } @Override - public void selected(DimensionRow dimRow) { + public void selectedDimensionRow(DimensionRow dimRow) { Log.debug("Selected dimension row: " + dimRow); dimensionRow=dimRow; comboDimensionType.setValue(dimRow); } @Override - public void aborted() { + public void abortedDimensionRowSelection() { Log.debug("Aborted"); comboDimensionType.setValue(null); dimensionRow=null; @@ -393,7 +393,7 @@ public class ReplacePanel extends FramedPanel implements } @Override - public void failed(String reason, String detail) { + public void failedDimensionRowSelection(String reason, String detail) { Log.debug("Failed: "+reason+" "+detail); comboDimensionType.setValue(null); dimensionRow=null; diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/ResourceBundle.java b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/ResourceBundle.java index fe68c85..59c7754 100644 --- a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/ResourceBundle.java +++ b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/ResourceBundle.java @@ -64,6 +64,12 @@ public interface ResourceBundle extends ClientBundle { @Source("disk_32.png") ImageResource save32(); + @Source("codelist-link.png") + ImageResource codelistLink(); + + @Source("codelist-link_32.png") + ImageResource codelistLink32(); + } diff --git a/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png b/src/main/java/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png new file mode 100644 index 0000000000000000000000000000000000000000..d238e55aec27be57d6dddfbd374f3d73841c4d2c GIT binary patch literal 856 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 VxR2J)Q%L{-002ovPDHLkV1kQQaR>ka literal 0 HcmV?d00001 diff --git a/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png b/src/main/resources/org/gcube/portlets/user/td/columnwidget/client/resources/codelist-link.png new file mode 100644 index 0000000000000000000000000000000000000000..d238e55aec27be57d6dddfbd374f3d73841c4d2c GIT binary patch literal 856 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 VxR2J)Q%L{-002ovPDHLkV1kQQaR>ka literal 0 HcmV?d00001