Added PeriodDataType

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@111640 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2015-02-03 18:02:27 +00:00
parent 1a88c3ee03
commit 9f4939d9e3
6 changed files with 206 additions and 284 deletions

View File

@ -11,22 +11,21 @@ import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataPrope
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataTypeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnTypeCodeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnTypeCodeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.LocaleTypeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.LocaleTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.PeriodDataTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.TimeDimensionTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.resources.ResourceBundle; import org.gcube.portlets.user.td.columnwidget.client.resources.ResourceBundle;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeElement; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeElement;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeStore; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeStore;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElement; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElement;
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.store.TimeDimensionTypeElement;
import org.gcube.portlets.user.td.columnwidget.client.store.TimeDimensionTypeStore;
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.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.PeriodDataType;
import org.gcube.portlets.user.td.gwtservice.shared.tr.RefColumn; import org.gcube.portlets.user.td.gwtservice.shared.tr.RefColumn;
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.mapping.ColumnMappingList; import org.gcube.portlets.user.td.gwtservice.shared.tr.column.mapping.ColumnMappingList;
@ -43,7 +42,6 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeMap; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeMap;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.PeriodDataType;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
@ -120,8 +118,9 @@ public class ChangeColumnTypePanel extends FramedPanel implements
private FieldLabel comboColumnMappingLabel; private FieldLabel comboColumnMappingLabel;
private ListStore<ColumnMappingList> storeComboColumnMapping; private ListStore<ColumnMappingList> storeComboColumnMapping;
private ComboBox<TimeDimensionTypeElement> comboTimeDimensionType = null; private ComboBox<PeriodDataType> comboTimeDimensionType = null;
private FieldLabel comboTimeDimensionTypeLabel; private FieldLabel comboTimeDimensionTypeLabel;
private ListStore<PeriodDataType> storeComboTimeDimensionType;
private ComboBox<LocaleTypeElement> comboLocaleType = null; private ComboBox<LocaleTypeElement> comboLocaleType = null;
private FieldLabel comboLocaleTypeLabel; private FieldLabel comboLocaleTypeLabel;
@ -134,6 +133,7 @@ public class ChangeColumnTypePanel extends FramedPanel implements
private ChangeColumnTypeSession changeColumnTypeSession; private ChangeColumnTypeSession changeColumnTypeSession;
private boolean panelCreated; private boolean panelCreated;
public ChangeColumnTypePanel(TRId trId, String columnName, EventBus eventBus) { public ChangeColumnTypePanel(TRId trId, String columnName, EventBus eventBus) {
setWidth(WIDTH); setWidth(WIDTH);
setHeight(HEIGHT); setHeight(HEIGHT);
@ -411,15 +411,23 @@ public class ChangeColumnTypePanel extends FramedPanel implements
comboColumnMappingLabel = new FieldLabel(comboColumnMapping, "Mapping"); comboColumnMappingLabel = new FieldLabel(comboColumnMapping, "Mapping");
// comboTimeDimensionType // comboTimeDimensionType
TimeDimensionTypeProperties propsTimeDimensionType = GWT PeriodDataTypeProperties propsTimeDimensionType = GWT
.create(TimeDimensionTypeProperties.class); .create(PeriodDataTypeProperties.class);
ListStore<TimeDimensionTypeElement> storeComboTimeDimensionType = new ListStore<TimeDimensionTypeElement>( storeComboTimeDimensionType = new ListStore<PeriodDataType>(
propsTimeDimensionType.id()); propsTimeDimensionType.name());
storeComboTimeDimensionType.addAll(TimeDimensionTypeStore
.getTimeDimensionType()); comboTimeDimensionType = new ComboBox<PeriodDataType>(
storeComboTimeDimensionType, propsTimeDimensionType.label()){
protected void onAfterFirstAttach() {
super.onAfterFirstAttach();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
retrievePeriodDataType();
}
});
}
};
comboTimeDimensionType = new ComboBox<TimeDimensionTypeElement>(
storeComboTimeDimensionType, propsTimeDimensionType.label());
Log.trace("ComboTimeDimensionType created"); Log.trace("ComboTimeDimensionType created");
addHandlersForComboTimeDimensionType(propsTimeDimensionType.label()); addHandlersForComboTimeDimensionType(propsTimeDimensionType.label());
@ -668,11 +676,11 @@ public class ChangeColumnTypePanel extends FramedPanel implements
} }
protected void addHandlersForComboTimeDimensionType( protected void addHandlersForComboTimeDimensionType(
final LabelProvider<TimeDimensionTypeElement> labelProvider) { final LabelProvider<PeriodDataType> labelProvider) {
comboTimeDimensionType comboTimeDimensionType
.addSelectionHandler(new SelectionHandler<TimeDimensionTypeElement>() { .addSelectionHandler(new SelectionHandler<PeriodDataType>() {
public void onSelection( public void onSelection(
SelectionEvent<TimeDimensionTypeElement> event) { SelectionEvent<PeriodDataType> event) {
Info.display( Info.display(
"Time Dimension Type Selected", "Time Dimension Type Selected",
"You selected " "You selected "
@ -682,9 +690,9 @@ public class ChangeColumnTypePanel extends FramedPanel implements
+ "!")); + "!"));
Log.debug("ComboTimeDimensionType selected: " Log.debug("ComboTimeDimensionType selected: "
+ event.getSelectedItem()); + event.getSelectedItem());
TimeDimensionTypeElement timeDimensionType = event PeriodDataType timeDimensionType = event
.getSelectedItem(); .getSelectedItem();
updateTimeDimensionType(timeDimensionType.getType()); updateTimeDimensionType(timeDimensionType);
} }
}); });
@ -872,14 +880,10 @@ public class ChangeColumnTypePanel extends FramedPanel implements
if (type == ColumnTypeCode.TIMEDIMENSION) { if (type == ColumnTypeCode.TIMEDIMENSION) {
changeColumnTypeSession changeColumnTypeSession
.setTimeDimensionType(TimeDimensionTypeStore .setTimeDimensionType(cd
.selectedTimeDimension(cd .getPeriodDataType());
.getPeriodDataType() comboTimeDimensionType.setValue(cd
.getPeriodDataTypeLabel())); .getPeriodDataType());
comboTimeDimensionType.setValue(TimeDimensionTypeStore
.selectedTimeDimensionElement(cd
.getPeriodDataType()
.getPeriodDataTypeLabel()));
} else { } else {
// TODO // TODO
if (type == ColumnTypeCode.DIMENSION) { if (type == ColumnTypeCode.DIMENSION) {
@ -1142,19 +1146,13 @@ public class ChangeColumnTypePanel extends FramedPanel implements
break; break;
case TIMEDIMENSION: case TIMEDIMENSION:
changeColumnTypeSession.setColumnTypeCodeTarget(type); changeColumnTypeSession.setColumnTypeCodeTarget(type);
TimeDimensionTypeElement timeDimensionTypeElement = comboTimeDimensionType PeriodDataType periodDataType = comboTimeDimensionType
.getCurrentValue(); .getCurrentValue();
if (timeDimensionTypeElement != null) { if (periodDataType != null) {
PeriodDataType timeDimensionType = timeDimensionTypeElement
.getType();
if (timeDimensionType != null) {
changeColumnTypeSession changeColumnTypeSession
.setTimeDimensionType(timeDimensionType); .setTimeDimensionType(periodDataType);
callChangeColumnType(); callChangeColumnType();
} else {
UtilsGXT3.alert("Attention",
"Time Dimension type not selected!");
}
} else { } else {
UtilsGXT3.alert("Attention", UtilsGXT3.alert("Attention",
@ -1415,6 +1413,47 @@ public class ChangeColumnTypePanel extends FramedPanel implements
} }
protected void retrievePeriodDataType() {
TDGWTServiceAsync.INSTANCE
.getPeriodDataTypes(new AsyncCallback<ArrayList<PeriodDataType>>() {
@Override
public void onFailure(Throwable caught) {
if (caught instanceof TDGWTSessionExpiredException) {
eventBus.fireEvent(new SessionExpiredEvent(
SessionExpiredType.EXPIREDONSERVER));
} else {
if (caught instanceof TDGWTIsLockedException) {
Log.error(caught.getLocalizedMessage());
UtilsGXT3.alert("Error Locked",
caught.getLocalizedMessage());
} else {
if (caught instanceof TDGWTIsFinalException) {
Log.error(caught.getLocalizedMessage());
UtilsGXT3.alert("Error Final",
caught.getLocalizedMessage());
} else {
Log.debug(caught.getLocalizedMessage());
UtilsGXT3.alert("Error retrieving period type",
caught.getLocalizedMessage());
}
}
}
}
@Override
public void onSuccess(ArrayList<PeriodDataType> result) {
storeComboTimeDimensionType.clear();
storeComboTimeDimensionType.addAll(result);
storeComboTimeDimensionType.commitChanges();
}
});
}
protected void setLocale(String locale) { protected void setLocale(String locale) {
for (LocaleTypeElement loc : storeComboLocaleType.getAll()) { for (LocaleTypeElement loc : storeComboLocaleType.getAll()) {
if (loc.getLocaleName().compareTo(locale) == 0) { if (loc.getLocaleName().compareTo(locale) == 0) {

View File

@ -9,16 +9,14 @@ import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataPrope
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataTypeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnDataTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnTypeCodeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.ColumnTypeCodeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.LocaleTypeProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.LocaleTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.PeriodDataTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties; import org.gcube.portlets.user.td.columnwidget.client.properties.TabResourceProperties;
import org.gcube.portlets.user.td.columnwidget.client.properties.TimeDimensionTypeProperties;
import org.gcube.portlets.user.td.columnwidget.client.resources.ResourceBundle; import org.gcube.portlets.user.td.columnwidget.client.resources.ResourceBundle;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeElement; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeElement;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeStore; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnDataTypeStore;
import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElement; import org.gcube.portlets.user.td.columnwidget.client.store.ColumnTypeCodeElement;
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.store.TimeDimensionTypeElement;
import org.gcube.portlets.user.td.columnwidget.client.store.TimeDimensionTypeStore;
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.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;
@ -26,6 +24,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedExcep
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.DefNewColumn;
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;
import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog; import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog;
@ -39,7 +38,6 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.OperationResult;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode; import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.PeriodDataType;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
@ -81,51 +79,54 @@ public class AddColumnPanel extends FramedPanel implements
private static final String GEOMETRY_REGEXPR = "(\\s*POINT\\s*\\(\\s*(-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*\\)\\s*$)" private static final String GEOMETRY_REGEXPR = "(\\s*POINT\\s*\\(\\s*(-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*\\)\\s*$)"
+ "|(\\s*LINESTRING\\s*\\((\\s*(-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*,)+\\s*((-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*)\\)\\s*$)"; + "|(\\s*LINESTRING\\s*\\((\\s*(-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*,)+\\s*((-)?\\d+(\\.\\d+)?\\s+(-)?\\d+(\\.\\d+)?\\s*)\\)\\s*$)";
protected static final String WIDTH = "640px"; private static final String WIDTH = "640px";
protected static final String HEIGHT = "520px"; private static final String HEIGHT = "520px";
protected EventBus eventBus; private EventBus eventBus;
protected AddColumnDialog parent; private AddColumnDialog parent;
protected TRId trId; private TRId trId;
protected AddColumnPanel thisPanel; //private AddColumnPanel thisPanel;
protected ComboBox<ColumnTypeCodeElement> comboColumnTypeCode = null; private ComboBox<ColumnTypeCodeElement> comboColumnTypeCode = null;
protected FieldLabel comboColumnTypeCodeLabel; //private FieldLabel comboColumnTypeCodeLabel;
protected ComboBox<ColumnDataTypeElement> comboMeasureType = null; private ComboBox<ColumnDataTypeElement> comboMeasureType = null;
protected FieldLabel comboMeasureTypeLabel; private FieldLabel comboMeasureTypeLabel;
protected ComboBox<ColumnDataTypeElement> comboAttributeType = null; private ComboBox<ColumnDataTypeElement> comboAttributeType = null;
protected FieldLabel comboAttributeTypeLabel; private FieldLabel comboAttributeTypeLabel;
protected ComboBox<TabResource> comboDimensionType = null; private ComboBox<TabResource> comboDimensionType = null;
protected FieldLabel comboDimensionTypeLabel; private FieldLabel comboDimensionTypeLabel;
protected ComboBox<ColumnData> comboColumnReferenceType = null; private ComboBox<ColumnData> comboColumnReferenceType = null;
protected FieldLabel comboColumnReferenceTypeLabel; private FieldLabel comboColumnReferenceTypeLabel;
protected ListStore<ColumnData> storeComboColumnReferenceType; private ListStore<ColumnData> storeComboColumnReferenceType;
protected ComboBox<TimeDimensionTypeElement> comboTimeDimensionType = null; private ComboBox<PeriodDataType> comboTimeDimensionType = null;
protected FieldLabel comboTimeDimensionTypeLabel; private FieldLabel comboTimeDimensionTypeLabel;
private ListStore<PeriodDataType> storeComboTimeDimensionType;
protected ComboBox<LocaleTypeElement> comboLocaleType = null; private ComboBox<LocaleTypeElement> comboLocaleType = null;
protected FieldLabel comboLocaleTypeLabel; private FieldLabel comboLocaleTypeLabel;
protected ListStore<LocaleTypeElement> storeComboLocaleType; private ListStore<LocaleTypeElement> storeComboLocaleType;
protected AddColumnSession addColumnSession; private AddColumnSession addColumnSession;
protected TextButton btnAddColumn; private TextButton btnAddColumn;
protected TextField label; private TextField label;
protected TextField defaultValueString; private TextField defaultValueString;
protected DateField defaultValueDate; private DateField defaultValueDate;
protected FieldLabel defaultStringLabel; private FieldLabel defaultStringLabel;
protected FieldLabel defaultDateLabel; private FieldLabel defaultDateLabel;
private DateTimeFormat sdf = DateTimeFormat.getFormat("yyyy-MM-dd"); private DateTimeFormat sdf = DateTimeFormat.getFormat("yyyy-MM-dd");
/** /**
* *
* @param parent * @param parent
@ -134,7 +135,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;
@ -150,7 +151,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();
@ -249,7 +250,7 @@ public class AddColumnPanel extends FramedPanel implements
super.onAfterFirstAttach(); super.onAfterFirstAttach();
Scheduler.get().scheduleDeferred(new ScheduledCommand() { Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() { public void execute() {
retriveLocales(); retrieveLocales();
} }
}); });
} }
@ -305,14 +306,22 @@ public class AddColumnPanel extends FramedPanel implements
comboColumnReferenceType, "Column"); comboColumnReferenceType, "Column");
// comboTimeDimensionType // comboTimeDimensionType
TimeDimensionTypeProperties propsTimeDimensionType = GWT PeriodDataTypeProperties propsTimeDimensionType = GWT
.create(TimeDimensionTypeProperties.class); .create(PeriodDataTypeProperties.class);
ListStore<TimeDimensionTypeElement> storeComboTimeDimensionType = new ListStore<TimeDimensionTypeElement>( storeComboTimeDimensionType = new ListStore<PeriodDataType>(
propsTimeDimensionType.id()); propsTimeDimensionType.name());
storeComboTimeDimensionType.addAll(TimeDimensionTypeStore
.getTimeDimensionType()); comboTimeDimensionType = new ComboBox<PeriodDataType>(
comboTimeDimensionType = new ComboBox<TimeDimensionTypeElement>( storeComboTimeDimensionType, propsTimeDimensionType.label()){
storeComboTimeDimensionType, propsTimeDimensionType.label()); protected void onAfterFirstAttach() {
super.onAfterFirstAttach();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
retrievePeriodDataType();
}
});
}
};
Log.trace("ComboTimeDimensionType created"); Log.trace("ComboTimeDimensionType created");
addHandlersForComboTimeDimensionType(propsTimeDimensionType.label()); addHandlersForComboTimeDimensionType(propsTimeDimensionType.label());
@ -507,11 +516,11 @@ public class AddColumnPanel extends FramedPanel implements
} }
protected void addHandlersForComboTimeDimensionType( protected void addHandlersForComboTimeDimensionType(
final LabelProvider<TimeDimensionTypeElement> labelProvider) { final LabelProvider<PeriodDataType> labelProvider) {
comboTimeDimensionType comboTimeDimensionType
.addSelectionHandler(new SelectionHandler<TimeDimensionTypeElement>() { .addSelectionHandler(new SelectionHandler<PeriodDataType>() {
public void onSelection( public void onSelection(
SelectionEvent<TimeDimensionTypeElement> event) { SelectionEvent<PeriodDataType> event) {
Info.display( Info.display(
"Time Dimension Type Selected", "Time Dimension Type Selected",
"You selected " "You selected "
@ -521,9 +530,9 @@ public class AddColumnPanel extends FramedPanel implements
+ "!")); + "!"));
Log.debug("ComboTimeDimensionType selected: " Log.debug("ComboTimeDimensionType selected: "
+ event.getSelectedItem()); + event.getSelectedItem());
TimeDimensionTypeElement timeDimensionType = event PeriodDataType timeDimensionType = event
.getSelectedItem(); .getSelectedItem();
updateTimeDimensionType(timeDimensionType.getType()); updateTimeDimensionType(timeDimensionType);
} }
}); });
@ -788,21 +797,14 @@ public class AddColumnPanel extends FramedPanel implements
} }
break; break;
case TIMEDIMENSION: case TIMEDIMENSION:
TimeDimensionTypeElement timeDimensionTypeElement = comboTimeDimensionType PeriodDataType periodDataType = comboTimeDimensionType
.getCurrentValue(); .getCurrentValue();
if (timeDimensionTypeElement != null) { if (periodDataType != null) {
PeriodDataType timeDimensionType = timeDimensionTypeElement
.getType();
if (timeDimensionType != null) {
defNewColumn = new DefNewColumn(labelS, type, defNewColumn = new DefNewColumn(labelS, type,
timeDimensionType, defaultV); periodDataType, defaultV);
addColumnSession = new AddColumnSession(trId, addColumnSession = new AddColumnSession(trId,
defNewColumn); defNewColumn);
callAddColumm(); callAddColumm();
} else {
UtilsGXT3.alert("Attention",
"Time Dimension type not selected!");
}
} else { } else {
UtilsGXT3.alert("Attention", UtilsGXT3.alert("Attention",
@ -931,7 +933,7 @@ public class AddColumnPanel extends FramedPanel implements
} }
protected void retriveLocales() { protected void retrieveLocales() {
TDGWTServiceAsync.INSTANCE TDGWTServiceAsync.INSTANCE
.getLocales(new AsyncCallback<ArrayList<String>>() { .getLocales(new AsyncCallback<ArrayList<String>>() {
@ -977,6 +979,48 @@ public class AddColumnPanel extends FramedPanel implements
} }
protected void retrievePeriodDataType() {
TDGWTServiceAsync.INSTANCE
.getPeriodDataTypes(new AsyncCallback<ArrayList<PeriodDataType>>() {
@Override
public void onFailure(Throwable caught) {
if (caught instanceof TDGWTSessionExpiredException) {
eventBus.fireEvent(new SessionExpiredEvent(
SessionExpiredType.EXPIREDONSERVER));
} else {
if (caught instanceof TDGWTIsLockedException) {
Log.error(caught.getLocalizedMessage());
UtilsGXT3.alert("Error Locked",
caught.getLocalizedMessage());
} else {
if (caught instanceof TDGWTIsFinalException) {
Log.error(caught.getLocalizedMessage());
UtilsGXT3.alert("Error Final",
caught.getLocalizedMessage());
} else {
Log.debug(caught.getLocalizedMessage());
UtilsGXT3.alert("Error retrieving period type",
caught.getLocalizedMessage());
}
}
}
}
@Override
public void onSuccess(ArrayList<PeriodDataType> result) {
storeComboTimeDimensionType.clear();
storeComboTimeDimensionType.addAll(result);
storeComboTimeDimensionType.commitChanges();
}
});
}
protected void setLocale(String locale) { protected void setLocale(String locale) {
for (LocaleTypeElement loc : storeComboLocaleType.getAll()) { for (LocaleTypeElement loc : storeComboLocaleType.getAll()) {
if (loc.getLocaleName().compareTo(locale) == 0) { if (loc.getLocaleName().compareTo(locale) == 0) {

View File

@ -0,0 +1,24 @@
package org.gcube.portlets.user.td.columnwidget.client.properties;
import org.gcube.portlets.user.td.gwtservice.shared.tr.PeriodDataType;
import com.google.gwt.editor.client.Editor.Path;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
/**
*
* @author giancarlo
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public interface PeriodDataTypeProperties extends
PropertyAccess<PeriodDataType> {
@Path("name")
ModelKeyProvider<PeriodDataType> name();
LabelProvider<PeriodDataType> label();
}

View File

@ -1,25 +0,0 @@
package org.gcube.portlets.user.td.columnwidget.client.properties;
import org.gcube.portlets.user.td.columnwidget.client.store.TimeDimensionTypeElement;
import com.google.gwt.editor.client.Editor.Path;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
/**
*
* @author "Giancarlo Panichi"
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public interface TimeDimensionTypeProperties extends
PropertyAccess<TimeDimensionTypeElement> {
@Path("id")
ModelKeyProvider<TimeDimensionTypeElement> id();
LabelProvider<TimeDimensionTypeElement> label();
//ValueProvider<TimeDimensionTypeElement,String> viewLabel();
}

View File

@ -1,55 +0,0 @@
package org.gcube.portlets.user.td.columnwidget.client.store;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.PeriodDataType;
/**
*
* @author "Giancarlo Panichi"
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class TimeDimensionTypeElement {
protected int id; // For insert in table only
protected PeriodDataType type;
public TimeDimensionTypeElement(int id,PeriodDataType type){
this.id=id;
this.type=type;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public PeriodDataType getType() {
return type;
}
public void setCode(PeriodDataType type) {
this.type = type;
}
public String getLabel() {
return type.getPeriodDataTypeLabel();
}
public String getViewLabel() {
return type.getPeriodDataTypeLabel();
}
@Override
public String toString() {
return "TimeDimensionTypeElement [id=" + id + ", type=" + type + "]";
}
}

View File

@ -1,105 +0,0 @@
package org.gcube.portlets.user.td.columnwidget.client.store;
import java.io.Serializable;
import java.util.ArrayList;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.PeriodDataType;
/**
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class TimeDimensionTypeStore implements Serializable {
private static final long serialVersionUID = -5669638279415262224L;
private static ArrayList<TimeDimensionTypeElement> store;
private static TimeDimensionTypeElement dayElement=new TimeDimensionTypeElement(1,PeriodDataType.DAY);
private static TimeDimensionTypeElement monthElement=new TimeDimensionTypeElement(2,PeriodDataType.MONTH);
private static TimeDimensionTypeElement quarterElement=new TimeDimensionTypeElement(3,PeriodDataType.QUARTER);
private static TimeDimensionTypeElement yearElement=new TimeDimensionTypeElement(4,PeriodDataType.YEAR);
private static TimeDimensionTypeElement decadeElement=new TimeDimensionTypeElement(5,PeriodDataType.DECADE);
private static TimeDimensionTypeElement centuryElement=new TimeDimensionTypeElement(6,PeriodDataType.CENTURY);
public static ArrayList<TimeDimensionTypeElement> getTimeDimensionType(){
store=new ArrayList<TimeDimensionTypeElement>();
store.add(dayElement);
store.add(monthElement);
store.add(quarterElement);
store.add(yearElement);
store.add(decadeElement);
store.add(centuryElement);
return store;
}
public static int selectedTimeDimensionPosition(String selected){
int position=0;
if(selected.compareTo(PeriodDataType.DAY.toString())==0){
position=1;
} else {
if(selected.compareTo(PeriodDataType.MONTH.toString())==0){
position=2;
} else {
if(selected.compareTo(PeriodDataType.QUARTER.toString())==0){
position=3;
} else {
if(selected.compareTo(PeriodDataType.YEAR.toString())==0){
position=4;
} else {
if(selected.compareTo(PeriodDataType.DECADE.toString())==0){
position=5;
} else {
if(selected.compareTo(PeriodDataType.CENTURY.toString())==0){
position=6;
} else {
}
}
}
}
}
}
return position;
}
public static PeriodDataType selectedTimeDimension(String selected){
return PeriodDataType.getPeriodFromString(selected);
}
public static TimeDimensionTypeElement selectedTimeDimensionElement(String selected){
if(selected.compareTo(PeriodDataType.DAY.toString())==0){
return dayElement;
} else {
if(selected.compareTo(PeriodDataType.MONTH.toString())==0){
return monthElement;
} else {
if(selected.compareTo(PeriodDataType.QUARTER.toString())==0){
return quarterElement;
} else {
if(selected.compareTo(PeriodDataType.YEAR.toString())==0){
return yearElement;
} else {
if(selected.compareTo(PeriodDataType.DECADE.toString())==0){
return decadeElement;
} else {
if(selected.compareTo(PeriodDataType.CENTURY.toString())==0){
return centuryElement;
} else {
return null;
}
}
}
}
}
}
}
}