Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@113765 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2015-03-26 19:56:41 +00:00
parent 5f533eb901
commit 1f4fe07a42
7 changed files with 273 additions and 150 deletions

View File

@ -128,7 +128,15 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- TD Expression -->
<dependency>
<groupId>org.gcube.portlets.user</groupId>
<artifactId>tabular-data-expression-widget</artifactId>
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
<scope>provided</scope>
</dependency>
<!-- TDX Source --> <!-- TDX Source -->
<dependency> <dependency>
<groupId>org.gcube.portlets.user</groupId> <groupId>org.gcube.portlets.user</groupId>

View File

@ -1,33 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module rename-to='ColumnWidget'> <module rename-to='ColumnWidget'>
<!-- Inherit the core Web Toolkit stuff. --> <!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' /> <inherits name='com.google.gwt.user.User' />
<!-- We need the JUnit module in the main module, -->
<!-- otherwise eclipse complains (Google plugin bug?) -->
<inherits name='com.google.gwt.junit.JUnit' />
<!-- Inherit the default GWT style sheet. You can change --> <!-- We need the JUnit module in the main module, -->
<!-- the theme of your GWT application by uncommenting --> <!-- otherwise eclipse complains (Google plugin bug?) -->
<!-- any one of the following lines. --> <inherits name='com.google.gwt.junit.JUnit' />
<inherits name='com.google.gwt.user.theme.standard.Standard' />
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits --> <!-- Inherit the default GWT style sheet. You can change -->
<inherits name='com.sencha.gxt.ui.GXT' /> <!-- the theme of your GWT application by uncommenting -->
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" /> <!-- any one of the following lines. -->
<inherits name='org.gcube.portlets.user.td.gwtservice.TDGWTService' /> <inherits name='com.google.gwt.user.theme.standard.Standard' />
<inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' /> <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<inherits name="org.gcube.portlets.user.tdwx.TabularDataWidgetX" /> <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the app entry point class. --> <inherits name='com.sencha.gxt.ui.GXT' />
<!-- <entry-point class='org.gcube.portlets.user.td.columnwidget.client.ColumnWidgetEntry' /> --> <inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
<inherits name='org.gcube.portlets.user.td.gwtservice.TDGWTService' />
<inherits
name='org.gcube.portlets.user.td.expressionwidget.ExpressionWidget' />
<inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' />
<inherits name="org.gcube.portlets.user.tdwx.TabularDataWidgetX" />
<!-- Specify the app entry point class. -->
<!-- <entry-point class='org.gcube.portlets.user.td.columnwidget.client.ColumnWidgetEntry'
/> -->
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
</module> </module>

View File

@ -1,7 +1,6 @@
package org.gcube.portlets.user.td.columnwidget.client.create; package org.gcube.portlets.user.td.columnwidget.client.create;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionDialog; import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionDialog;
import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionListener; import org.gcube.portlets.user.td.columnwidget.client.dimension.CodelistSelectionListener;
@ -18,12 +17,15 @@ import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElemen
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeStore; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeStore;
import org.gcube.portlets.user.td.columnwidget.client.store.LocaleTypeElement; import org.gcube.portlets.user.td.columnwidget.client.store.LocaleTypeElement;
import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3; import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3;
import org.gcube.portlets.user.td.expressionwidget.client.expression.ExpressionWrapperNotification;
import org.gcube.portlets.user.td.expressionwidget.client.expression.ExpressionWrapperNotification.ExpressionWrapperNotificationListener;
import org.gcube.portlets.user.td.expressionwidget.client.expression.ReplaceExpressionDialog;
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException;
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; 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.exception.TDGWTSessionExpiredException;
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
import org.gcube.portlets.user.td.gwtservice.shared.tr.DefNewColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnMockUp;
import org.gcube.portlets.user.td.gwtservice.shared.tr.PeriodDataType; import org.gcube.portlets.user.td.gwtservice.shared.tr.PeriodDataType;
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
import org.gcube.portlets.user.td.gwtservice.shared.tr.column.AddColumnSession; import org.gcube.portlets.user.td.gwtservice.shared.tr.column.AddColumnSession;
@ -31,6 +33,7 @@ import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog;
import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialogListener; import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialogListener;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ChangeTableRequestEvent; import org.gcube.portlets.user.td.widgetcommonevent.client.event.ChangeTableRequestEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableRequestType; import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableRequestType;
import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableWhy; import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableWhy;
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType; import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
@ -43,9 +46,10 @@ import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.SelectionEvent; import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler; import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.regexp.shared.MatchResult; import com.google.gwt.regexp.shared.MatchResult;
import com.google.gwt.regexp.shared.RegExp; import com.google.gwt.regexp.shared.RegExp;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.rpc.AsyncCallback;
@ -64,7 +68,6 @@ 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;
import com.sencha.gxt.widget.core.client.event.TriggerClickEvent.TriggerClickHandler; 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.ComboBox;
import com.sencha.gxt.widget.core.client.form.DateField;
import com.sencha.gxt.widget.core.client.form.FieldLabel; import com.sencha.gxt.widget.core.client.form.FieldLabel;
import com.sencha.gxt.widget.core.client.form.TextField; import com.sencha.gxt.widget.core.client.form.TextField;
import com.sencha.gxt.widget.core.client.info.Info; import com.sencha.gxt.widget.core.client.info.Info;
@ -86,10 +89,10 @@ public class AddColumnPanel extends FramedPanel implements
private AddColumnDialog parent; private AddColumnDialog parent;
private TRId trId; private TRId trId;
//private AddColumnPanel thisPanel; // private AddColumnPanel thisPanel;
private ComboBox<ColumnTypeCodeElement> comboColumnTypeCode = null; private ComboBox<ColumnTypeCodeElement> comboColumnTypeCode = null;
//private FieldLabel comboColumnTypeCodeLabel; // private FieldLabel comboColumnTypeCodeLabel;
private ComboBox<ColumnDataTypeElement> comboMeasureType = null; private ComboBox<ColumnDataTypeElement> comboMeasureType = null;
private FieldLabel comboMeasureTypeLabel; private FieldLabel comboMeasureTypeLabel;
@ -118,14 +121,9 @@ public class AddColumnPanel extends FramedPanel implements
private TextField label; private TextField label;
private TextField defaultValueString; private TextField defaultValueString;
private DateField defaultValueDate;
private FieldLabel defaultStringLabel; private FieldLabel defaultStringLabel;
private FieldLabel defaultDateLabel;
private DateTimeFormat sdf = DateTimeFormat.getFormat("yyyy-MM-dd"); //private DateTimeFormat sdf = DateTimeFormat.getFormat("yyyy-MM-dd");
/** /**
* *
@ -135,7 +133,7 @@ public class AddColumnPanel extends FramedPanel implements
public AddColumnPanel(AddColumnDialog parent, TRId trId, EventBus eventBus) { public AddColumnPanel(AddColumnDialog parent, TRId trId, EventBus eventBus) {
super(); super();
Log.debug("CreateDefColumnPanel[parent: " + parent + ", trId: " + trId); Log.debug("CreateDefColumnPanel[parent: " + parent + ", trId: " + trId);
//this.thisPanel = this; // this.thisPanel = this;
this.parent = parent; this.parent = parent;
this.eventBus = eventBus; this.eventBus = eventBus;
this.trId = trId; this.trId = trId;
@ -151,7 +149,7 @@ public class AddColumnPanel extends FramedPanel implements
public AddColumnPanel(TRId trId, EventBus eventBus) { public AddColumnPanel(TRId trId, EventBus eventBus) {
super(); super();
Log.debug("CreateDefColumnPanel[trId: " + trId); Log.debug("CreateDefColumnPanel[trId: " + trId);
//this.thisPanel = this; // this.thisPanel = this;
this.eventBus = eventBus; this.eventBus = eventBus;
this.trId = trId; this.trId = trId;
init(); init();
@ -173,9 +171,14 @@ public class AddColumnPanel extends FramedPanel implements
// Default Value // Default Value
defaultValueString = new TextField(); defaultValueString = new TextField();
defaultStringLabel = new FieldLabel(defaultValueString, "Default"); defaultStringLabel = new FieldLabel(defaultValueString, "Default");
defaultStringLabel.addDomHandler(new ClickHandler() {
defaultValueDate = new DateField(); @Override
defaultDateLabel = new FieldLabel(defaultValueDate, "Default"); public void onClick(ClickEvent event) {
openReplaceExpressionDialog();
}
}, ClickEvent.getType());
// comboColumnTypeCode // comboColumnTypeCode
ColumnTypeCodeProperties propsColumnTypeCode = GWT ColumnTypeCodeProperties propsColumnTypeCode = GWT
@ -310,9 +313,9 @@ public class AddColumnPanel extends FramedPanel implements
.create(PeriodDataTypeProperties.class); .create(PeriodDataTypeProperties.class);
storeComboTimeDimensionType = new ListStore<PeriodDataType>( storeComboTimeDimensionType = new ListStore<PeriodDataType>(
propsTimeDimensionType.name()); propsTimeDimensionType.name());
comboTimeDimensionType = new ComboBox<PeriodDataType>( comboTimeDimensionType = new ComboBox<PeriodDataType>(
storeComboTimeDimensionType, propsTimeDimensionType.label()){ storeComboTimeDimensionType, propsTimeDimensionType.label()) {
protected void onAfterFirstAttach() { protected void onAfterFirstAttach() {
super.onAfterFirstAttach(); super.onAfterFirstAttach();
Scheduler.get().scheduleDeferred(new ScheduledCommand() { Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@ -368,7 +371,6 @@ public class AddColumnPanel extends FramedPanel implements
new Margins(1))); new Margins(1)));
v.add(defaultStringLabel, new VerticalLayoutData(1, -1, new Margins(1))); v.add(defaultStringLabel, new VerticalLayoutData(1, -1, new Margins(1)));
v.add(defaultDateLabel, new VerticalLayoutData(1, -1, new Margins(1)));
v.add(btnAddColumn, new VerticalLayoutData(-1, -1, new Margins(10, 0, v.add(btnAddColumn, new VerticalLayoutData(-1, -1, new Margins(10, 0,
10, 0))); 10, 0)));
add(v, new VerticalLayoutData(-1, -1, new Margins(0))); add(v, new VerticalLayoutData(-1, -1, new Margins(0)));
@ -380,11 +382,49 @@ public class AddColumnPanel extends FramedPanel implements
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
defaultDateLabel.setVisible(false);
defaultStringLabel.setVisible(false); defaultStringLabel.setVisible(false);
} }
protected void openReplaceExpressionDialog() {
ColumnMockUp columnMockUp = retrieveColumnMockUp();
if (columnMockUp != null) {
ReplaceExpressionDialog replaceExpressionDialog = new ReplaceExpressionDialog(
columnMockUp, trId, eventBus);
replaceExpressionDialog
.addExpressionWrapperNotificationListener(new ExpressionWrapperNotificationListener() {
@Override
public void onExpression(
ExpressionWrapperNotification expressionWrapperNotification) {
ExpressionWrapper exWrapper=expressionWrapperNotification.getExpressionWrapper();
if(exWrapper.isReplaceByValue()){
defaultValueString.setValue(exWrapper.getReplaceValue());
} else {
defaultValueString.setValue(exWrapper.getReplaceExpressionContainer().getReadableExpression());
}
}
@Override
public void failed(Throwable throwable) {
Log.error("Error in AddColumn during expression creation:"+throwable.getLocalizedMessage());
}
@Override
public void aborted() {
defaultValueString.setValue(null);
Log.debug("Expression creation aborted");
}
});
replaceExpressionDialog.show();
}
}
protected void addHandlersForComboColumnTypeCode( protected void addHandlersForComboColumnTypeCode(
final LabelProvider<ColumnTypeCodeElement> labelProvider) { final LabelProvider<ColumnTypeCodeElement> labelProvider) {
comboColumnTypeCode comboColumnTypeCode
@ -519,8 +559,7 @@ public class AddColumnPanel extends FramedPanel implements
final LabelProvider<PeriodDataType> labelProvider) { final LabelProvider<PeriodDataType> labelProvider) {
comboTimeDimensionType comboTimeDimensionType
.addSelectionHandler(new SelectionHandler<PeriodDataType>() { .addSelectionHandler(new SelectionHandler<PeriodDataType>() {
public void onSelection( public void onSelection(SelectionEvent<PeriodDataType> event) {
SelectionEvent<PeriodDataType> event) {
Info.display( Info.display(
"Time Dimension Type Selected", "Time Dimension Type Selected",
"You selected " "You selected "
@ -549,7 +588,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
defaultStringLabel.setVisible(true); defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break; break;
case ATTRIBUTE: case ATTRIBUTE:
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
@ -559,7 +597,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
defaultStringLabel.setVisible(false); defaultStringLabel.setVisible(false);
defaultDateLabel.setVisible(false);
break; break;
case DIMENSION: case DIMENSION:
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
@ -569,8 +606,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
defaultStringLabel.setVisible(false); defaultStringLabel.setVisible(false);
defaultDateLabel.setVisible(false);
break; break;
case MEASURE: case MEASURE:
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
@ -580,7 +615,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
defaultStringLabel.setVisible(true); defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break; break;
case TIMEDIMENSION: case TIMEDIMENSION:
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
@ -590,7 +624,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(true); comboTimeDimensionTypeLabel.setVisible(true);
defaultStringLabel.setVisible(false); defaultStringLabel.setVisible(false);
defaultDateLabel.setVisible(false);
break; break;
default: default:
comboLocaleTypeLabel.setVisible(false); comboLocaleTypeLabel.setVisible(false);
@ -600,7 +633,6 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceTypeLabel.setVisible(false); comboColumnReferenceTypeLabel.setVisible(false);
comboTimeDimensionTypeLabel.setVisible(false); comboTimeDimensionTypeLabel.setVisible(false);
defaultStringLabel.setVisible(true); defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break; break;
} }
@ -613,37 +645,7 @@ public class AddColumnPanel extends FramedPanel implements
protected void updateAttributeType(ColumnDataType type) { protected void updateAttributeType(ColumnDataType type) {
Log.debug("Update ColumnTypeCode " + type.toString()); Log.debug("Update ColumnTypeCode " + type.toString());
switch (type) { defaultStringLabel.setVisible(true);
case Boolean:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
case Date:
defaultStringLabel.setVisible(false);
defaultDateLabel.setVisible(true);
break;
case Geometry:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
case Integer:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
case Numeric:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
case Text:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
default:
defaultStringLabel.setVisible(true);
defaultDateLabel.setVisible(false);
break;
}
forceLayout(); forceLayout();
} }
@ -663,7 +665,7 @@ public class AddColumnPanel extends FramedPanel implements
} }
protected void save() { protected void save() {
DefNewColumn defNewColumn; ColumnMockUp columnMockUp;
String defaultV = defaultValueString.getCurrentValue(); String defaultV = defaultValueString.getCurrentValue();
String labelS = label.getCurrentValue(); String labelS = label.getCurrentValue();
@ -681,10 +683,10 @@ public class AddColumnPanel extends FramedPanel implements
ColumnDataType dataType = columnDataTypeElement ColumnDataType dataType = columnDataTypeElement
.getType(); .getType();
if (dataType != null) { if (dataType != null) {
defNewColumn = new DefNewColumn(labelS, type, columnMockUp = new ColumnMockUp(null, null, labelS,
dataType, defaultV); type, dataType, defaultV);
addColumnSession = new AddColumnSession(trId, addColumnSession = new AddColumnSession(trId,
defNewColumn); columnMockUp);
callAddColumm(); callAddColumm();
} else { } else {
UtilsGXT3.alert("Attention", UtilsGXT3.alert("Attention",
@ -704,16 +706,15 @@ public class AddColumnPanel extends FramedPanel implements
.getType(); .getType();
if (dataType != null) { if (dataType != null) {
if (dataType == ColumnDataType.Geometry) { if (dataType == ColumnDataType.Geometry) {
// TODO
RegExp regExp = RegExp RegExp regExp = RegExp
.compile(GEOMETRY_REGEXPR); .compile(GEOMETRY_REGEXPR);
MatchResult matcher = regExp.exec(defaultV); MatchResult matcher = regExp.exec(defaultV);
boolean matchFound = matcher != null; boolean matchFound = matcher != null;
if (matchFound) { if (matchFound) {
defNewColumn = new DefNewColumn(labelS, columnMockUp = new ColumnMockUp(null, null,
type, dataType, defaultV); labelS, type, dataType, defaultV);
addColumnSession = new AddColumnSession( addColumnSession = new AddColumnSession(
trId, defNewColumn); trId, columnMockUp);
callAddColumm(); callAddColumm();
} else { } else {
UtilsGXT3 UtilsGXT3
@ -722,24 +723,17 @@ public class AddColumnPanel extends FramedPanel implements
} }
} else { } else {
if (dataType == ColumnDataType.Date) { if (dataType == ColumnDataType.Date) {
Date d = defaultValueDate.getCurrentValue(); columnMockUp = new ColumnMockUp(null, null,
if (d == null) { labelS, type, dataType, defaultV);
UtilsGXT3
.alert("Attention",
"Column data type not selected!");
} else {
String dateS = sdf.format(d);
defNewColumn = new DefNewColumn(labelS,
type, dataType, dateS);
addColumnSession = new AddColumnSession(
trId, defNewColumn);
callAddColumm();
}
} else {
defNewColumn = new DefNewColumn(labelS,
type, dataType, defaultV);
addColumnSession = new AddColumnSession( addColumnSession = new AddColumnSession(
trId, defNewColumn); trId, columnMockUp);
callAddColumm();
} else {
columnMockUp = new ColumnMockUp(null, null,
labelS, type, dataType, defaultV);
addColumnSession = new AddColumnSession(
trId, columnMockUp);
callAddColumm(); callAddColumm();
} }
@ -755,41 +749,44 @@ public class AddColumnPanel extends FramedPanel implements
} }
break; break;
case CODE: case CODE:
defNewColumn = new DefNewColumn(labelS, type, defaultV); columnMockUp = new ColumnMockUp(null, null, labelS, type,
addColumnSession = new AddColumnSession(trId, defNewColumn); defaultV);
addColumnSession = new AddColumnSession(trId, columnMockUp);
callAddColumm(); callAddColumm();
break; break;
case CODENAME: case CODENAME:
LocaleTypeElement locale = comboLocaleType LocaleTypeElement locale = comboLocaleType
.getCurrentValue(); .getCurrentValue();
if (locale != null) { if (locale != null) {
defNewColumn = new DefNewColumn(labelS, type, columnMockUp = new ColumnMockUp(null, null, labelS,
locale.getLocaleName(), defaultV); type, locale.getLocaleName(), defaultV);
addColumnSession = new AddColumnSession(trId, addColumnSession = new AddColumnSession(trId,
defNewColumn); columnMockUp);
callAddColumm(); callAddColumm();
} else { } else {
UtilsGXT3.alert("Attention", "No locale selected!"); UtilsGXT3.alert("Attention", "No locale selected!");
} }
break; break;
case CODEDESCRIPTION: case CODEDESCRIPTION:
defNewColumn = new DefNewColumn(labelS, type, defaultV); columnMockUp = new ColumnMockUp(null, null, labelS, type,
addColumnSession = new AddColumnSession(trId, defNewColumn); defaultV);
addColumnSession = new AddColumnSession(trId, columnMockUp);
callAddColumm(); callAddColumm();
break; break;
case ANNOTATION: case ANNOTATION:
defNewColumn = new DefNewColumn(labelS, type, defaultV); columnMockUp = new ColumnMockUp(null, null, labelS, type,
addColumnSession = new AddColumnSession(trId, defNewColumn); defaultV);
addColumnSession = new AddColumnSession(trId, columnMockUp);
callAddColumm(); callAddColumm();
break; break;
case DIMENSION: case DIMENSION:
ColumnData columnReference = comboColumnReferenceType ColumnData columnReference = comboColumnReferenceType
.getCurrentValue(); .getCurrentValue();
if (columnReference != null) { if (columnReference != null) {
defNewColumn = new DefNewColumn(labelS, type, columnMockUp = new ColumnMockUp(null, null, labelS,
columnReference, defaultV); type, columnReference, defaultV);
addColumnSession = new AddColumnSession(trId, addColumnSession = new AddColumnSession(trId,
defNewColumn); columnMockUp);
callAddColumm(); callAddColumm();
} else { } else {
UtilsGXT3.alert("Attention", UtilsGXT3.alert("Attention",
@ -800,12 +797,12 @@ public class AddColumnPanel extends FramedPanel implements
PeriodDataType periodDataType = comboTimeDimensionType PeriodDataType periodDataType = comboTimeDimensionType
.getCurrentValue(); .getCurrentValue();
if (periodDataType != null) { if (periodDataType != null) {
defNewColumn = new DefNewColumn(labelS, type, columnMockUp = new ColumnMockUp(null, null, labelS,
periodDataType, defaultV); type, periodDataType, defaultV);
addColumnSession = new AddColumnSession(trId, addColumnSession = new AddColumnSession(trId,
defNewColumn); columnMockUp);
callAddColumm(); callAddColumm();
} else { } else {
UtilsGXT3.alert("Attention", UtilsGXT3.alert("Attention",
"Time Dimension type not selected!"); "Time Dimension type not selected!");
@ -825,6 +822,118 @@ public class AddColumnPanel extends FramedPanel implements
} }
protected ColumnMockUp retrieveColumnMockUp() {
ColumnMockUp columnMockUp = null;
String labelS = label.getCurrentValue();
if (labelS != null && !labelS.isEmpty()) {
ColumnTypeCodeElement columnTypeCodeElement = comboColumnTypeCode
.getCurrentValue();
if (columnTypeCodeElement != null) {
ColumnTypeCode type = columnTypeCodeElement.getCode();
ColumnDataTypeElement columnDataTypeElement;
switch (type) {
case MEASURE:
columnDataTypeElement = comboMeasureType.getCurrentValue();
if (columnDataTypeElement != null) {
ColumnDataType dataType = columnDataTypeElement
.getType();
if (dataType != null) {
columnMockUp = new ColumnMockUp(null, null, labelS,
type, dataType, "");
} else {
UtilsGXT3.alert("Attention",
"Column data type not selected!");
}
} else {
UtilsGXT3.alert("Attention",
"Column data type not selected!");
}
break;
case ATTRIBUTE:
columnDataTypeElement = comboAttributeType
.getCurrentValue();
if (columnDataTypeElement != null) {
ColumnDataType dataType = columnDataTypeElement
.getType();
if (dataType != null) {
columnMockUp = new ColumnMockUp(null, null, labelS,
type, dataType, "");
} else {
UtilsGXT3.alert("Attention",
"Column data type not selected!");
}
} else {
UtilsGXT3.alert("Attention",
"Column data type not selected!");
}
break;
case CODE:
columnMockUp = new ColumnMockUp(null, null, labelS, type,
"");
break;
case CODENAME:
LocaleTypeElement locale = comboLocaleType
.getCurrentValue();
if (locale != null) {
columnMockUp = new ColumnMockUp(null, null, labelS,
type, locale.getLocaleName(), "");
} else {
UtilsGXT3.alert("Attention", "No locale selected!");
}
break;
case CODEDESCRIPTION:
columnMockUp = new ColumnMockUp(null, null, labelS, type,
"");
break;
case ANNOTATION:
columnMockUp = new ColumnMockUp(null, null, labelS, type,
"");
break;
case DIMENSION:
ColumnData columnReference = comboColumnReferenceType
.getCurrentValue();
if (columnReference != null) {
columnMockUp = new ColumnMockUp(null, null, labelS,
type, columnReference, "");
} else {
UtilsGXT3.alert("Attention",
"No column reference selected!");
}
break;
case TIMEDIMENSION:
PeriodDataType periodDataType = comboTimeDimensionType
.getCurrentValue();
if (periodDataType != null) {
columnMockUp = new ColumnMockUp(null, null, labelS,
type, periodDataType, "");
} else {
UtilsGXT3.alert("Attention",
"Time Dimension type not selected!");
}
break;
default:
UtilsGXT3.alert("Attention",
"This column type is not supported now!");
break;
}
} else {
UtilsGXT3.alert("Attention", "Select a column type!");
}
} else {
UtilsGXT3.alert("Attntion", "Insert a valid label!");
}
return columnMockUp;
}
private void callAddColumm() { private void callAddColumm() {
Log.debug(addColumnSession.toString()); Log.debug(addColumnSession.toString());
TDGWTServiceAsync.INSTANCE.startAddColumn(addColumnSession, TDGWTServiceAsync.INSTANCE.startAddColumn(addColumnSession,
@ -978,8 +1087,7 @@ public class AddColumnPanel extends FramedPanel implements
}); });
} }
protected void retrievePeriodDataType() { protected void retrievePeriodDataType() {
TDGWTServiceAsync.INSTANCE TDGWTServiceAsync.INSTANCE
.getPeriodDataTypes(new AsyncCallback<ArrayList<PeriodDataType>>() { .getPeriodDataTypes(new AsyncCallback<ArrayList<PeriodDataType>>() {
@ -1001,12 +1109,13 @@ public class AddColumnPanel extends FramedPanel implements
caught.getLocalizedMessage()); caught.getLocalizedMessage());
} else { } else {
Log.debug(caught.getLocalizedMessage()); Log.debug(caught.getLocalizedMessage());
UtilsGXT3.alert("Error retrieving period type", UtilsGXT3.alert(
"Error retrieving period type",
caught.getLocalizedMessage()); caught.getLocalizedMessage());
} }
} }
} }
} }
@Override @Override
@ -1014,12 +1123,11 @@ public class AddColumnPanel extends FramedPanel implements
storeComboTimeDimensionType.clear(); storeComboTimeDimensionType.clear();
storeComboTimeDimensionType.addAll(result); storeComboTimeDimensionType.addAll(result);
storeComboTimeDimensionType.commitChanges(); storeComboTimeDimensionType.commitChanges();
} }
}); });
} }
protected void setLocale(String locale) { protected void setLocale(String locale) {
for (LocaleTypeElement loc : storeComboLocaleType.getAll()) { for (LocaleTypeElement loc : storeComboLocaleType.getAll()) {
@ -1047,7 +1155,8 @@ public class AddColumnPanel extends FramedPanel implements
public void operationComplete(OperationResult operationResult) { public void operationComplete(OperationResult operationResult) {
ChangeTableWhy why = ChangeTableWhy.TABLEUPDATED; ChangeTableWhy why = ChangeTableWhy.TABLEUPDATED;
ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent( ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent(
ChangeTableRequestType.ADDCOLUMN, operationResult.getTrId(), why); ChangeTableRequestType.ADDCOLUMN, operationResult.getTrId(),
why);
eventBus.fireEvent(changeTableRequestEvent); eventBus.fireEvent(changeTableRequestEvent);
close(); close();
} }
@ -1060,10 +1169,12 @@ public class AddColumnPanel extends FramedPanel implements
} }
@Override @Override
public void operationStopped(OperationResult operationResult, String reason, String details) { public void operationStopped(OperationResult operationResult,
String reason, String details) {
ChangeTableWhy why = ChangeTableWhy.TABLECURATION; ChangeTableWhy why = ChangeTableWhy.TABLECURATION;
ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent( ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent(
ChangeTableRequestType.ADDCOLUMN, operationResult.getTrId(), why); ChangeTableRequestType.ADDCOLUMN, operationResult.getTrId(),
why);
eventBus.fireEvent(changeTableRequestEvent); eventBus.fireEvent(changeTableRequestEvent);
close(); close();

View File

@ -1,12 +1,12 @@
package org.gcube.portlets.user.td.columnwidget.client.create; package org.gcube.portlets.user.td.columnwidget.client.create;
import org.gcube.portlets.user.td.gwtservice.shared.tr.DefNewColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnMockUp;
public interface CreateDefColumnListener { public interface CreateDefColumnListener {
/** /**
* Called when column definition is create without errors * Called when column definition is create without errors
*/ */
public void completedDefColumnCreation(DefNewColumn defNewColumn); public void completedDefColumnCreation(ColumnMockUp defNewColumn);
/** /**
* Called when column definition is aborted by the user. * Called when column definition is aborted by the user.

View File

@ -13,7 +13,7 @@ import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalException;
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; 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.exception.TDGWTSessionExpiredException;
import org.gcube.portlets.user.td.gwtservice.shared.tr.DefNewColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnMockUp;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; 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.widgetcommonevent.client.type.SessionExpiredType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TableType; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TableType;
@ -297,8 +297,8 @@ public class CreateDefColumnPanel extends FramedPanel {
} }
} }
DefNewColumn defNewColumn = new DefNewColumn(lab, currentType, ColumnMockUp defNewColumn = new ColumnMockUp(null, null,
localeName, valueDefault); lab, currentType, localeName, valueDefault);
Log.debug("DefNewColumn:" + defNewColumn); Log.debug("DefNewColumn:" + defNewColumn);
fireCompleted(defNewColumn); fireCompleted(defNewColumn);
@ -428,7 +428,7 @@ public class CreateDefColumnPanel extends FramedPanel {
listeners.remove(listener); listeners.remove(listener);
} }
public void fireCompleted(DefNewColumn defNewColumn) { public void fireCompleted(ColumnMockUp defNewColumn) {
for (CreateDefColumnListener listener : listeners) for (CreateDefColumnListener listener : listeners)
listener.completedDefColumnCreation(defNewColumn); listener.completedDefColumnCreation(defNewColumn);
close(); close();

View File

@ -1,7 +1,7 @@
package org.gcube.portlets.user.td.columnwidget.client.properties; package org.gcube.portlets.user.td.columnwidget.client.properties;
import org.gcube.portlets.user.td.gwtservice.shared.tr.DefNewColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnMockUp;
import com.google.gwt.editor.client.Editor.Path; import com.google.gwt.editor.client.Editor.Path;
import com.sencha.gxt.data.shared.LabelProvider; import com.sencha.gxt.data.shared.LabelProvider;
@ -15,12 +15,12 @@ import com.sencha.gxt.data.shared.PropertyAccess;
* *
*/ */
public interface ExtractCodelistDefColumnPropertiesCombo extends public interface ExtractCodelistDefColumnPropertiesCombo extends
PropertyAccess<DefNewColumn> { PropertyAccess<ColumnMockUp> {
@Path("id") @Path("id")
ModelKeyProvider<DefNewColumn> id(); ModelKeyProvider<ColumnMockUp> id();
LabelProvider<DefNewColumn> label(); LabelProvider<ColumnMockUp> label();
} }

View File

@ -19,8 +19,9 @@
<inherits name='com.sencha.gxt.ui.GXT' /> <inherits name='com.sencha.gxt.ui.GXT' />
<inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" /> <inherits name="com.allen_sauer.gwt.log.gwt-log-TRACE" />
<inherits name='org.gcube.portlets.user.td.gwtservice.TDGWTService' /> <inherits name='org.gcube.portlets.user.td.gwtservice.TDGWTService' />
<inherits
name='org.gcube.portlets.user.td.expressionwidget.ExpressionWidget' />
<inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' /> <inherits name='org.gcube.portlets.user.td.monitorwidget.MonitorWidgetTD' />
<inherits name="org.gcube.portlets.user.tdwx.TabularDataWidgetX" /> <inherits name="org.gcube.portlets.user.tdwx.TabularDataWidgetX" />