Added control over the type of data in ReplacePanel

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-column-widget@93618 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-03-27 09:54:31 +00:00
parent 1a405db6d8
commit 76d657bd39
2 changed files with 115 additions and 3 deletions

View File

@ -2118,3 +2118,35 @@ Compiling...
Compilation completed in 0.00 seconds Compilation completed in 0.00 seconds
Removing invalidated units Removing invalidated units
Finding entry point classes Finding entry point classes
Public resources found in...
Translatable source found in...
Found 0 cached/archived units. Used 0 / 2719 units from cache.
Compiling...
30% complete (ETR: 8 seconds)
30% complete (ETR: 8 seconds)
30% complete (ETR: 8 seconds)
30% complete (ETR: 8 seconds)
40% complete (ETR: 8 seconds)
50% complete (ETR: 6 seconds)
60% complete (ETR: 4 seconds)
70% complete (ETR: 3 seconds)
80% complete (ETR: 2 seconds)
90% complete (ETR: 1 seconds)
100% complete (ETR: 0 seconds)
Compilation completed in 17.79 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

View File

@ -1,5 +1,7 @@
package org.gcube.portlets.user.td.columnwidget.client.replace; package org.gcube.portlets.user.td.columnwidget.client.replace;
import java.util.GregorianCalendar;
import org.gcube.portlets.user.td.columnwidget.client.progress.ReplaceColumnProgressDialog; import org.gcube.portlets.user.td.columnwidget.client.progress.ReplaceColumnProgressDialog;
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.utils.UtilsGXT3; import org.gcube.portlets.user.td.columnwidget.client.utils.UtilsGXT3;
@ -16,11 +18,11 @@ import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.FramedPanel; import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.button.TextButton; import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; 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.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.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.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent; 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.SelectEvent.SelectHandler;
@ -152,11 +154,89 @@ public class ReplacePanel extends FramedPanel {
if (rValue == null || rValue.isEmpty()) { if (rValue == null || rValue.isEmpty()) {
UtilsGXT3.alert("Attention", "Insert a valid replace value"); UtilsGXT3.alert("Attention", "Insert a valid replace value");
} else { } else {
callReplaceValue(rValue); String checkedValue = checkTypeData(rValue);
if (checkedValue != null && !checkedValue.isEmpty()) {
callReplaceValue(rValue);
} else {
UtilsGXT3.alert("Attention", "Insert a valid replace value for this column");
}
} }
} }
protected GregorianCalendar convertDate(String date) {
int year, month, day, hour, min, sec;
GregorianCalendar d = null;
switch (date.length()) {
case 10:
year = Integer.parseInt(date.substring(0, 4));
month = Integer.parseInt(date.substring(5, 7));
day = Integer.parseInt(date.substring(8, 10));
d = new GregorianCalendar(year, month, day);
break;
case 16:
year = Integer.parseInt(date.substring(0, 4));
month = Integer.parseInt(date.substring(5, 7));
day = Integer.parseInt(date.substring(8, 10));
hour = Integer.parseInt(date.substring(11, 13));
min = Integer.parseInt(date.substring(14, 16));
d = new GregorianCalendar(year, month, day, hour, min);
break;
case 19:
year = Integer.parseInt(date.substring(0, 4));
month = Integer.parseInt(date.substring(5, 7));
day = Integer.parseInt(date.substring(8, 10));
hour = Integer.parseInt(date.substring(11, 13));
min = Integer.parseInt(date.substring(14, 16));
sec = Integer.parseInt(date.substring(17, 19));
d = new GregorianCalendar(year, month, day, hour, min, sec);
break;
}
return d;
}
protected String checkTypeData(String rValue) {
String checked = null;
try {
switch (column.getDataTypeName()) {
case "Boolean":
Boolean b = new Boolean(rValue);
checked = b.toString();
break;
case "Date":
GregorianCalendar d = convertDate(rValue);
if (d != null) {
Long data = d.getTimeInMillis();
checked = data.toString();
}
break;
case "Geometry":
checked = rValue;
break;
case "Integer":
Integer in = new Integer(rValue);
checked = in.toString();
break;
case "Numeric":
Float fl = new Float(rValue);
checked = fl.toString();
break;
case "Text":
checked = rValue;
break;
default:
break;
}
} catch (Throwable e) {
Log.debug("Error no valid type data: " + e.getLocalizedMessage());
}
return checked;
}
protected void callReplaceValue(String rValue) { protected void callReplaceValue(String rValue) {
replaceColumnSession = new ReplaceColumnSession( replaceColumnSession = new ReplaceColumnSession(
value.getCurrentValue(), rValue, trId, column, value.getCurrentValue(), rValue, trId, column,