From 7af37b02df1266e9790db450269bf5322b4d3530 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 26 Sep 2014 16:48:15 +0000 Subject: [PATCH] Fixed Final and Lock error git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-extractcodelist-widget@100243 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/SourceColumnsSelectionCard.java | 2 +- .../client/TargetColumnsSelectionPanel.java | 114 ++++++++++-------- .../client/grid/ColumnDataGridPanel.java | 68 +++++++---- 3 files changed, 105 insertions(+), 79 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/SourceColumnsSelectionCard.java b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/SourceColumnsSelectionCard.java index 9548eef..af1cc14 100644 --- a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/SourceColumnsSelectionCard.java +++ b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/SourceColumnsSelectionCard.java @@ -53,7 +53,7 @@ public class SourceColumnsSelectionCard extends WizardCard { VerticalLayoutContainer content = new VerticalLayoutContainer(); panel.add(content); - columnsGridPanel = new ColumnDataGridPanel(); + columnsGridPanel = new ColumnDataGridPanel(this); columnsGridPanel .addSelectionHandler(new SelectionHandler() { diff --git a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/TargetColumnsSelectionPanel.java b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/TargetColumnsSelectionPanel.java index 618c544..8b20890 100644 --- a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/TargetColumnsSelectionPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/TargetColumnsSelectionPanel.java @@ -11,6 +11,7 @@ import org.gcube.portlets.user.td.columnwidget.client.properties.ExtractCodelist 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.exception.TDGWTIsLockedException; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.gwtservice.shared.extract.ExtractCodelistTargetColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; @@ -229,7 +230,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements @Override public void completedDefColumnCreation(DefNewColumn defNewColumn) { - comboDefColumn.setValue(defNewColumn,true); + comboDefColumn.setValue(defNewColumn, true); } @@ -239,7 +240,6 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements } }; - comboDefColumn.addTriggerClickHandler(new TriggerClickHandler() { @@ -278,7 +278,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements final ComboBox comboDefColumn = new ComboBox( storeComboDefColumn, props.label()); comboDefColumn.setItemId(COMBO_DEF_COLUMN); - + Log.debug("ComboDefColumn created"); final CreateDefColumnListener createDefColumnListener = new CreateDefColumnListener() { @@ -291,7 +291,7 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements @Override public void completedDefColumnCreation(DefNewColumn defNewColumn) { - comboDefColumn.setValue(defNewColumn,true); + comboDefColumn.setValue(defNewColumn, true); } @@ -301,7 +301,6 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements } }; - comboDefColumn.addTriggerClickHandler(new TriggerClickHandler() { @@ -324,8 +323,6 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements comboDefColumn.setEditable(false); comboDefColumn.setTriggerAction(TriggerAction.ALL); - - // comboColumn ColumnDataPropertiesCombo propsCod = GWT .create(ColumnDataPropertiesCombo.class); @@ -343,16 +340,16 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements comboColumn.setWidth(COMBOWIDTH); comboColumn.setEditable(false); comboColumn.setTriggerAction(TriggerAction.ALL); - + CheckBox checkNew = new CheckBox(); checkNew.setItemId(CHECK_NEW); - checkNew.setEnabled(true); - checkNew.setBoxLabel("New"); - checkNew.addValueChangeHandler(new ValueChangeHandler() { - + checkNew.setEnabled(true); + checkNew.setBoxLabel("New"); + checkNew.addValueChangeHandler(new ValueChangeHandler() { + @Override public void onValueChange(ValueChangeEvent event) { - if(event.getValue()){ + if (event.getValue()) { comboColumn.setVisible(false); comboDefColumn.setVisible(true); forceLayout(); @@ -361,18 +358,19 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements comboDefColumn.setVisible(false); forceLayout(); } - + } }); - - HBoxLayoutContainer flowButton = new HBoxLayoutContainer(); + + HBoxLayoutContainer flowButton = new HBoxLayoutContainer(); flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE); flowButton.setPack(BoxLayoutPack.START); flowButton.add(checkNew, new BoxLayoutData(new Margins(2, 4, 2, 4))); flowButton.add(comboColumn, new BoxLayoutData(new Margins(2, 4, 2, 4))); - flowButton.add(comboDefColumn, new BoxLayoutData(new Margins(2, 4, 2, 4))); - + flowButton.add(comboDefColumn, new BoxLayoutData( + new Margins(2, 4, 2, 4))); + FieldLabel columnLabel = new FieldLabel(flowButton, label); columnLabel.setId(col.getColumnId()); comboDefColumn.setVisible(false); @@ -434,10 +432,16 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements new SessionExpiredEvent( SessionExpiredType.EXPIREDONSERVER)); } else { - Log.debug("Error retrieving columns: " - + caught.getLocalizedMessage()); - UtilsGXT3.alert("Error retrieving columns", - "Error retrieving columns on server!"); + if (caught instanceof TDGWTIsLockedException) { + Log.error(caught.getLocalizedMessage()); + parent.showErrorAndHide("Error Locked", + caught.getLocalizedMessage(), caught); + } else { + Log.debug("Error retrieving columns: " + + caught.getLocalizedMessage()); + UtilsGXT3.alert("Error retrieving columns", + "Error retrieving columns on server!"); + } } } @@ -480,20 +484,20 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements public boolean updateExtractCodelistSession() { targetColumns = new ArrayList(); - + int i = 0; int lenght = formLayout.getWidgetCount(); for (; i < lenght; i++) { FieldLabel fieldLabel = (FieldLabel) formLayout.getWidget(i); String columnId = fieldLabel.getId(); - Log.debug("Field id:"+columnId); + Log.debug("Field id:" + columnId); ColumnData colCurrent = null; for (ColumnData col : parent.extractCodelistSession .getSourceColumns()) { if (col.getColumnId().compareTo(columnId) == 0) { colCurrent = col; - Log.debug("Column Match:"+colCurrent); + Log.debug("Column Match:" + colCurrent); break; } } @@ -501,53 +505,59 @@ public class TargetColumnsSelectionPanel extends FramedPanel implements UtilsGXT3.alert("Error creating form", "Error creating form!"); return false; } - - if(connection==null){ + + if (connection == null) { @SuppressWarnings("unchecked") - ComboBox comboDefColumn = ((ComboBox) fieldLabel - .getWidget()); + ComboBox comboDefColumn = ((ComboBox) fieldLabel + .getWidget()); DefNewColumn defNewColumn = comboDefColumn.getValue(); - Log.debug("Retrieved: "+defNewColumn.toString()); - ExtractCodelistTargetColumn extractCodelistTargetColumn = new ExtractCodelistTargetColumn(colCurrent, defNewColumn); - Log.debug("New TargetColumn: "+extractCodelistTargetColumn); + Log.debug("Retrieved: " + defNewColumn.toString()); + ExtractCodelistTargetColumn extractCodelistTargetColumn = new ExtractCodelistTargetColumn( + colCurrent, defNewColumn); + Log.debug("New TargetColumn: " + extractCodelistTargetColumn); targetColumns.add(extractCodelistTargetColumn); } else { - - HBoxLayoutContainer flowButton=(HBoxLayoutContainer) fieldLabel + + HBoxLayoutContainer flowButton = (HBoxLayoutContainer) fieldLabel .getWidget(); - CheckBox checkNew=(CheckBox)flowButton.getItemByItemId(CHECK_NEW); - if(checkNew==null){ - UtilsGXT3.alert("Error creating form", "Error creating form for check radio!"); + CheckBox checkNew = (CheckBox) flowButton + .getItemByItemId(CHECK_NEW); + if (checkNew == null) { + UtilsGXT3.alert("Error creating form", + "Error creating form for check radio!"); return false; - } - - if(checkNew.getValue()){ + } + + if (checkNew.getValue()) { @SuppressWarnings("unchecked") - ComboBox comboDefColumn = (ComboBox)flowButton.getItemByItemId(COMBO_DEF_COLUMN); + ComboBox comboDefColumn = (ComboBox) flowButton + .getItemByItemId(COMBO_DEF_COLUMN); DefNewColumn defNewColumn = comboDefColumn.getValue(); - Log.debug("Retrieved: "+defNewColumn.toString()); - ExtractCodelistTargetColumn extractCodelistTargetCol = new ExtractCodelistTargetColumn(colCurrent, defNewColumn); - Log.debug("New TargetColumn:"+extractCodelistTargetCol); + Log.debug("Retrieved: " + defNewColumn.toString()); + ExtractCodelistTargetColumn extractCodelistTargetCol = new ExtractCodelistTargetColumn( + colCurrent, defNewColumn); + Log.debug("New TargetColumn:" + extractCodelistTargetCol); targetColumns.add(extractCodelistTargetCol); } else { @SuppressWarnings("unchecked") - ComboBox comboColumn=(ComboBox)flowButton.getItemByItemId(COMBO_COLUMN); - ColumnData columnData=comboColumn.getCurrentValue(); - if(columnData==null){ + ComboBox comboColumn = (ComboBox) flowButton + .getItemByItemId(COMBO_COLUMN); + ColumnData columnData = comboColumn.getCurrentValue(); + if (columnData == null) { UtilsGXT3.alert("Attention", "Fill all column!"); return false; } else { ExtractCodelistTargetColumn extractCodelistTargetC = new ExtractCodelistTargetColumn( - colCurrent, columnData, connection.getTrId()); - Log.debug("New TargetColumn:"+extractCodelistTargetC); + colCurrent, columnData, connection.getTrId()); + Log.debug("New TargetColumn:" + extractCodelistTargetC); targetColumns.add(extractCodelistTargetC); } } - + } } - - Log.debug("UpdateExtractCodelistSession:"+targetColumns); + + Log.debug("UpdateExtractCodelistSession:" + targetColumns); parent.extractCodelistSession.setTargetColumns(targetColumns); return true; } diff --git a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/grid/ColumnDataGridPanel.java b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/grid/ColumnDataGridPanel.java index 0189fa3..759f1c6 100644 --- a/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/grid/ColumnDataGridPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/extractcodelistwidget/client/grid/ColumnDataGridPanel.java @@ -4,7 +4,13 @@ import java.util.ArrayList; import java.util.List; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; +import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; +import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; +import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; +import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType; +import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; +import org.gcube.portlets.user.td.wizardwidget.client.util.UtilsGXT3; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; @@ -35,35 +41,34 @@ import com.sencha.gxt.widget.core.client.grid.Grid; public class ColumnDataGridPanel extends ContentPanel implements HasSelectionHandlers { - protected static final int GRIDHEIGHT=360; - + protected static final int GRIDHEIGHT = 360; + protected static final ColumnDataProperties props = GWT .create(ColumnDataProperties.class); - + protected final CheckBoxSelectionModel sm; protected final Grid grid; - public ColumnDataGridPanel() { + private WizardCard parent; + + public ColumnDataGridPanel(WizardCard parent) { + this.parent = parent; Log.debug("ColumnDataGridPanel"); setHeadingText("Columns"); - - + ColumnConfig labelCol = new ColumnConfig( props.label()); - + IdentityValueProvider identity = new IdentityValueProvider(); - sm = new CheckBoxSelectionModel( - identity); - - + sm = new CheckBoxSelectionModel(identity); + List> l = new ArrayList>(); l.add(sm.getColumn()); l.add(labelCol); ColumnModel cm = new ColumnModel(l); - ListStore store = new ListStore(props.id()); RpcProxy> proxy = new RpcProxy>() { @@ -86,7 +91,7 @@ public class ColumnDataGridPanel extends ContentPanel implements protected void onAfterFirstAttach() { super.onAfterFirstAttach(); Scheduler.get().scheduleDeferred(new ScheduledCommand() { - + public void execute() { loader.load(); } @@ -94,21 +99,18 @@ public class ColumnDataGridPanel extends ContentPanel implements } }; - - sm.setSelectionMode(SelectionMode.MULTI); + sm.setSelectionMode(SelectionMode.MULTI); grid.setLoader(loader); grid.setSelectionModel(sm); grid.setHeight(GRIDHEIGHT); - //grid.getView().setAutoExpandColumn(labelCol); + // grid.getView().setAutoExpandColumn(labelCol); 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.setScrollMode(ScrollMode.AUTO); con.add(grid, new VerticalLayoutData(-1, -1, new Margins(0))); @@ -125,10 +127,25 @@ public class ColumnDataGridPanel extends ContentPanel implements TDGWTServiceAsync.INSTANCE .getColumns(new AsyncCallback>() { - public void onFailure(Throwable caught) { - Log.error("No load columns: " - + caught.getLocalizedMessage()); + if (caught instanceof TDGWTSessionExpiredException) { + parent.getEventBus() + .fireEvent( + new SessionExpiredEvent( + SessionExpiredType.EXPIREDONSERVER)); + } else { + if (caught instanceof TDGWTIsLockedException) { + Log.error(caught.getLocalizedMessage()); + UtilsGXT3.alert("Error Locked", + caught.getLocalizedMessage()); + } else { + Log.error("No columns loaded: " + + caught.getLocalizedMessage()); + UtilsGXT3.alert("Error", + "No columns loaded: "+caught.getLocalizedMessage()); + } + + } callback.onFailure(caught); } @@ -143,11 +160,10 @@ public class ColumnDataGridPanel extends ContentPanel implements } public ArrayList getSelectedItems() { - return new ArrayList(grid - .getSelectionModel().getSelectedItems()); - - } + return new ArrayList(grid.getSelectionModel() + .getSelectedItems()); + } public HandlerRegistration addSelectionHandler( SelectionHandler handler) {