Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-expression-widget@113765 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2015-03-26 19:56:41 +00:00
parent 29f2512706
commit 1398df9b7e
19 changed files with 301 additions and 177 deletions

View File

@ -0,0 +1,7 @@
<root>
<facet id="jst.jaxrs">
<node name="libprov">
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
</node>
</facet>
</root>

View File

@ -4,4 +4,5 @@
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
<installed facet="jst.jaxrs" version="2.0"/>
</faceted-project>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="ExpressionWidget.html"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/tabular-data-expression-widget"/>
@ -11,7 +10,7 @@
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl ExpressionWidget.html -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -port 8888 org.gcube.portlets.user.td.expressionwidget.ExpressionWidget"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -startupUrl ExpressionWidget.html -logLevel INFO -codeServerPort 9997 -port 8888"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="tabular-data-expression-widget"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m -Dgwt.nowarn.legacy.tools"/>
</launchConfiguration>

59
pom.xml
View File

@ -44,13 +44,13 @@
<distroDirectory>distro</distroDirectory>
<configDirectory>config</configDirectory>
<!-- Next -->
<gwtVersion>2.6.1</gwtVersion>
<gwtLogVersion>3.3.2</gwtLogVersion>
<gxtVersion>3.1.1</gxtVersion>
<gxtVersion>3.1.1</gxtVersion>
<KEYS>${env.KEYS}</KEYS>
@ -79,7 +79,6 @@
<dependency>
<groupId>org.gcube.common</groupId>
<artifactId>home-library</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.gcube.core</groupId>
@ -92,6 +91,8 @@
</profiles>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
@ -105,26 +106,26 @@
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
<classifier>sources</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sencha.gxt</groupId>
<artifactId>gxt</artifactId>
<version>${gxtVersion}</version>
</dependency>
<!-- Portal -->
<dependency>
<groupId>org.gcube.core</groupId>
<artifactId>common-scope-maps</artifactId>
<version>[1.0.2-SNAPSHOT,2.0.0-SNAPSHOT)</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.portal</groupId>
<artifactId>custom-portal-handler</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.applicationsupportlayer</groupId>
<artifactId>aslcore</artifactId>
@ -132,18 +133,20 @@
</dependency>
<dependency>
<groupId>org.gcube.portal</groupId>
<artifactId>custom-portal-handler</artifactId>
<groupId>org.gcube.applicationsupportlayer</groupId>
<artifactId>accesslogger</artifactId>
<scope>provided</scope>
</dependency>
<!-- service-client-impl -->
<!-- service-client-impl -->
<dependency>
<groupId>org.gcube.data.analysis.tabulardata</groupId>
<artifactId>service-client-impl</artifactId>
<version>[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)</version>
<scope>provided</scope>
</dependency>
<!-- tabular-data-gwt-service -->
<dependency>
<groupId>org.gcube.portlets.user</groupId>
@ -157,7 +160,7 @@
<groupId>org.gcube.portlets.user</groupId>
<artifactId>tabular-data-widget-common-event</artifactId>
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
<scope>provided</scope>
<scope>provided</scope>
</dependency>
<!-- tabular-data-monitor-widget -->
@ -174,13 +177,12 @@
<groupId>com.allen-sauer.gwt.log</groupId>
<artifactId>gwt-log</artifactId>
<version>${gwtLogVersion}</version>
<scope>provided</scope>
<!-- <scope>provided</scope> -->
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<!-- <scope>compile</scope> -->
</dependency>
<!-- JUNIT -->
@ -217,6 +219,7 @@
<version>2.16</version>
<configuration>
<skipTests>true</skipTests>
<exclude>**/GwtTest*.java</exclude>
</configuration>
<!-- TODO check if needed -->
<dependencies>
@ -236,6 +239,7 @@
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>resources</goal>
</goals>
</execution>
@ -244,6 +248,7 @@
<runTarget>ExpressionWidget.html</runTarget>
<hostedWebapp>${webappDirectory}</hostedWebapp>
<module>org.gcube.portlets.user.td.expressionwidget.ExpressionWidget</module>
<includes>**/GwtTest*.java</includes>
</configuration>
</plugin>

View File

@ -10,7 +10,7 @@
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.standard.Standard' />
<!-- <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'/> -->

View File

@ -7,13 +7,13 @@ 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.gwtservice.shared.tr.ColumnMockUp;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ExpressionWrapperEvent;
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.SessionExpiredType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_Expression;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import com.allen_sauer.gwt.log.client.Log;
@ -34,24 +34,25 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
*
*/
public class ColumnExpressionDialog extends Window {
protected String WIDTH = "660px";
protected String HEIGHT = "426px";
protected ColumnExpressionPanel columnExpressionPanel;
protected C_Expression exp = null;
protected ColumnData column = null;
protected TRId trId;
protected String columnId = null;
protected EventBus eventBus;
private static final String WIDTH = "660px";
private static final String HEIGHT = "426px";
private ColumnExpressionPanel columnExpressionPanel;
private C_Expression exp = null;
private ColumnData column = null;
private TRId trId;
private String columnId = null;
private EventBus eventBus;
public ColumnExpressionDialog(String columnId,
ColumnTypeCode columnTypeCode, ColumnDataType dataTypeName,
public ColumnExpressionDialog(
ColumnMockUp columnMockUp,
EventBus eventBus) {
initWindow();
this.eventBus = eventBus;
column = new ColumnData();
column.setColumnId(columnId);
column.setDataTypeName(dataTypeName.toString());
column.setTypeCode(columnTypeCode.toString());
column.setColumnId(columnMockUp.getColumnId());
column.setLabel(columnMockUp.getLabel());
column.setDataTypeName(columnMockUp.getColumnDataType().toString());
column.setTypeCode(columnMockUp.getColumnType().toString());
create();
}

View File

@ -9,9 +9,9 @@ import org.gcube.portlets.user.td.expressionwidget.shared.model.logical.C_Not;
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
import org.gcube.portlets.user.td.monitorwidget.client.utils.UtilsGXT3;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ExpressionWrapperEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_Expression;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import com.allen_sauer.gwt.log.client.Log;

View File

@ -52,26 +52,27 @@ import com.sencha.gxt.widget.core.client.form.TextField;
*
*/
public class ConditionWidget extends SimpleContainer {
private ConditionWidget thisCont;
protected static final String HEIGHT = "210px";
protected static final String WIDTH = "612px";
protected FieldLabel matchLabel;
protected ToggleGroup groupMatch;
protected String itemIdCombo;
protected String itemIdFirstArg;
protected String itemIdSecondArg;
protected String itemIdFirstArgDate;
protected String itemIdSecondArgDate;
protected String itemIdComboThreshold;
protected String itemIdBtnAdd;
protected String itemIdBtnDel;
protected VerticalLayoutContainer vert;
protected ColumnData column;
private static final String HEIGHT = "210px";
private static final String WIDTH = "612px";
private ConditionWidget thisCont;
protected String readableExpression;
private FieldLabel matchLabel;
private ToggleGroup groupMatch;
private String itemIdCombo;
private String itemIdFirstArg;
private String itemIdSecondArg;
private String itemIdFirstArgDate;
private String itemIdSecondArgDate;
private String itemIdComboThreshold;
private String itemIdBtnAdd;
private String itemIdBtnDel;
private VerticalLayoutContainer vert;
private ColumnData column;
private String readableExpression;
private Radio radioAll;
private Radio radioAny;

View File

@ -2,13 +2,20 @@ package org.gcube.portlets.user.td.expressionwidget.client;
import org.gcube.portlets.user.td.expressionwidget.client.expression.ReplaceExpressionDialog;
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnMockUp;
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TabResourceType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.web.bindery.event.shared.EventBus;
import com.google.web.bindery.event.shared.SimpleEventBus;
import com.sencha.gxt.widget.core.client.container.Viewport;
/**
@ -19,11 +26,16 @@ import com.google.web.bindery.event.shared.SimpleEventBus;
*/
public class ExpressionWidgetEntry implements EntryPoint {
protected EventBus eventBus;
protected static final String JSP_TAG_ID = "tdp";
public void onModuleLoad() {
Log.debug("ExpressionWidgetEntry");
startInDevMode();
EventBus eventBus= new SimpleEventBus();
TRId trId=new TRId("154",TabResourceType.STANDARD, "1969");
String columnName="zwqvvx";
//String columnName="zwqvvx";
//Column Expression Dialog
//ColumnExpressionDialog expressionDialog=new ColumnExpressionDialog("1", ColumnTypeCode.ATTRIBUTE, ColumnDataType.Integer, eventBus);
@ -40,13 +52,54 @@ public class ExpressionWidgetEntry implements EntryPoint {
//multiColumnFilterDialog.show();
//Replace Column By Expression Dialog
ReplaceColumnByExpressionDialog replaceColumnByExpression= new ReplaceColumnByExpressionDialog(trId, columnName, eventBus);
replaceColumnByExpression.show();
//ReplaceColumnByExpressionDialog replaceColumnByExpression= new ReplaceColumnByExpressionDialog(trId, columnName, eventBus);
//replaceColumnByExpression.show();
//HelpReplaceColumnByExpressionDialog
//HelpReplaceColumnByExpressionDialog help= new HelpReplaceColumnByExpressionDialog(eventBus);
//help.show();
//Replace Expression Dialog
ColumnMockUp columnMockUp=new ColumnMockUp(null, null, "TestMock", ColumnTypeCode.ATTRIBUTE, ColumnDataType.Text,"");
ReplaceExpressionDialog replaceExpressionDialog=new ReplaceExpressionDialog(columnMockUp,trId,eventBus);
replaceExpressionDialog.show();
Log.info("Hello!");
}
protected void startInDevMode() {
try {
RootPanel root = RootPanel.get(JSP_TAG_ID);
Log.info("Root Panel: " + root);
if (root == null) {
Log.info("Div with id " + JSP_TAG_ID
+ " not found, starting in dev mode");
Viewport viewport = new Viewport();
viewport.setWidget(new HTML("Hello!"));
viewport.onResize();
RootPanel.get().add(viewport);
} else {
Log.info("Application div with id " + JSP_TAG_ID
+ " found, starting in portal mode");
/*PortalViewport viewport = new PortalViewport();
Log.info("Created Viewport");
viewport.setEnableScroll(false);
viewport.setWidget(mainWidget);
Log.info("Set Widget");
Log.info("getOffsetWidth(): " + viewport.getOffsetWidth());
Log.info("getOffsetHeight(): " + viewport.getOffsetHeight());
viewport.onResize();
root.add(viewport);
Log.info("Added viewport to root");*/
}
} catch (Exception e) {
e.printStackTrace();
Log.error("Error in attach viewport:" + e.getLocalizedMessage());
}
}
}

View File

@ -11,6 +11,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsFinalExcept
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.gwtservice.shared.tr.ColumnMockUp;
import org.gcube.portlets.user.td.gwtservice.shared.tr.column.ReplaceColumnByExpressionSession;
import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialog;
import org.gcube.portlets.user.td.monitorwidget.client.MonitorDialogListener;
@ -41,7 +42,7 @@ public class ReplaceColumnByExpressionDialog extends Window implements
MonitorDialogListener {
private static final String WIDTH = "880px";
private static final String HEIGHT = "490px";
//private static final String HEIGHT_REDUCE = "404px";
// private static final String HEIGHT_REDUCE = "404px";
private ReplaceColumnByExpressionPanel replaceColumnByExpressionPanel;
private C_Expression cConditionExpression = null;
@ -50,7 +51,7 @@ public class ReplaceColumnByExpressionDialog extends Window implements
private EventBus eventBus;
private ReplaceColumnByExpressionType replaceColumnByExpressionType;
private String columnLocalId;
// private String columnLocalId;
private TRId trId;
/**
@ -62,13 +63,28 @@ public class ReplaceColumnByExpressionDialog extends Window implements
* @param columns
* @param eventBus
*/
public ReplaceColumnByExpressionDialog(ColumnData column,
ArrayList<ColumnData> columns, EventBus eventBus) {
public ReplaceColumnByExpressionDialog(ColumnMockUp columnMockUp,
ArrayList<ColumnMockUp> columnMockUpList, EventBus eventBus) {
this.eventBus = eventBus;
this.column = column;
this.columns = columns;
column = new ColumnData();
column.setColumnId(columnMockUp.getColumnId());
column.setLabel(columnMockUp.getLabel());
column.setDataTypeName(columnMockUp.getColumnDataType().toString());
column.setTypeCode(columnMockUp.getColumnType().toString());
columns = new ArrayList<ColumnData>();
for (ColumnMockUp colMock : columnMockUpList) {
ColumnData col = new ColumnData();
col.setColumnId(colMock.getColumnId());
col.setLabel(colMock.getLabel());
col.setDataTypeName(colMock.getColumnDataType().toString());
col.setTypeCode(colMock.getColumnType().toString());
columns.add(col);
}
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Template;
initWindow();
sanitizesColumns();
create();
}
@ -79,11 +95,12 @@ public class ReplaceColumnByExpressionDialog extends Window implements
* @param columnName
* @param eventBus
*/
public ReplaceColumnByExpressionDialog(TRId trId, String columnLocalId,
public ReplaceColumnByExpressionDialog(TRId trId, String columnId,
EventBus eventBus) {
this.eventBus = eventBus;
this.columnLocalId = columnLocalId;
this.trId = trId;
column = new ColumnData();
column.setColumnId(columnId);
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Replace;
initWindow();
load();
@ -118,13 +135,11 @@ public class ReplaceColumnByExpressionDialog extends Window implements
}
protected void create() {
replaceColumnByExpressionPanel = new ReplaceColumnByExpressionPanel(
this, column, columns, eventBus, replaceColumnByExpressionType);
add(replaceColumnByExpressionPanel);
}
public C_Expression getExpression() {
return cConditionExpression;
@ -135,9 +150,10 @@ public class ReplaceColumnByExpressionDialog extends Window implements
this.cConditionExpression = exp;
}
protected void applyReplaceColumnByExpression(ColumnData column,boolean allRows,
C_Expression cConditionExpression, String replaceValue) {
this.column=column;
protected void applyReplaceColumnByExpression(ColumnData column,
boolean allRows, C_Expression cConditionExpression,
String replaceValue) {
this.column = column;
this.cConditionExpression = cConditionExpression;
ReplaceColumnByExpressionSession replaceColumnByExpressionSession = new ReplaceColumnByExpressionSession(
@ -145,9 +161,10 @@ public class ReplaceColumnByExpressionDialog extends Window implements
callApplyReplaceByExpression(replaceColumnByExpressionSession);
}
protected void applyReplaceColumnByExpression(ColumnData column, boolean allRows,
C_Expression cConditionExpression, C_Expression cReplaceExpression) {
this.column=column;
protected void applyReplaceColumnByExpression(ColumnData column,
boolean allRows, C_Expression cConditionExpression,
C_Expression cReplaceExpression) {
this.column = column;
this.cConditionExpression = cConditionExpression;
ReplaceColumnByExpressionSession replaceColumnByExpressionSession = new ReplaceColumnByExpressionSession(
@ -192,25 +209,20 @@ public class ReplaceColumnByExpressionDialog extends Window implements
protected void sanitizesColumns() {
ArrayList<ColumnData> removableColumn = new ArrayList<ColumnData>();
for (ColumnData c : columns) {
if (c.getTypeCode().compareTo(
ColumnTypeCode.DIMENSION.toString()) == 0
if (c.getTypeCode().compareTo(ColumnTypeCode.DIMENSION.toString()) == 0
|| c.getTypeCode().compareTo(
ColumnTypeCode.TIMEDIMENSION
.toString()) == 0) {
ColumnTypeCode.TIMEDIMENSION.toString()) == 0) {
removableColumn.add(c);
} else {
if (columnLocalId != null
&& c.getColumnId().compareTo(
columnLocalId) == 0) {
column = c;
if (c.getColumnId() != null
&& c.getColumnId().compareTo(column.getColumnId()) == 0) {
column=c;
}
}
}
columns.removeAll(removableColumn);
}
protected void callApplyReplaceByExpression(
ReplaceColumnByExpressionSession replaceColumnByExpressionSession) {
Log.debug("Replace Column By Expression Session "
@ -309,6 +321,4 @@ public class ReplaceColumnByExpressionDialog extends Window implements
}
}

View File

@ -11,9 +11,9 @@ import org.gcube.portlets.user.td.expressionwidget.shared.exception.ReplaceTypeM
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
import org.gcube.portlets.user.td.monitorwidget.client.utils.UtilsGXT3;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ExpressionWrapperEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_Expression;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;

View File

@ -59,6 +59,7 @@ public class ReplaceWidget extends SimpleContainer {
private static final String EMPTY_TEXT_REPLACE_REGEXP = "regexp...";
private static final String EMPTY_TEXT_REPLACE_REPLACING = "replace with...";
private ReplaceWidget thisCont;
private static final String HEIGHT = "210px";
@ -67,6 +68,7 @@ public class ReplaceWidget extends SimpleContainer {
private EventBus eventBus;
private TRId trId;
private ColumnData column;
private ArrayList<ColumnData> columns;
private ArrayList<ColumnData> arithmeticColumns;
@ -85,6 +87,7 @@ public class ReplaceWidget extends SimpleContainer {
private String itemIdHoriz;
private ReplaceColumnByExpressionType replaceColumnByExpressionType;
private ColumnDataType targetColumnType;
protected class ExpressionContainer {
private C_Expression expression;
@ -117,6 +120,7 @@ public class ReplaceWidget extends SimpleContainer {
public ReplaceWidget(ColumnData column, EventBus eventBus) {
super();
this.column=column;
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Replace;
ColumnDataType targetType = ColumnDataType
.getColumnDataTypeFromId(column.getDataTypeName());
@ -127,6 +131,7 @@ public class ReplaceWidget extends SimpleContainer {
public ReplaceWidget(ColumnData column, String width, String height,
EventBus eventBus) {
super();
this.column=column;
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Replace;
ColumnDataType targetType = ColumnDataType
.getColumnDataTypeFromId(column.getDataTypeName());
@ -137,6 +142,7 @@ public class ReplaceWidget extends SimpleContainer {
public ReplaceWidget(ColumnData column, ArrayList<ColumnData> columns,
EventBus eventBus) {
super();
this.column=column;
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Template;
ColumnDataType targetType = ColumnDataType
.getColumnDataTypeFromId(column.getDataTypeName());
@ -147,6 +153,7 @@ public class ReplaceWidget extends SimpleContainer {
public ReplaceWidget(ColumnData column, ArrayList<ColumnData> columns,
String width, String height, EventBus eventBus) {
super();
this.column=column;
replaceColumnByExpressionType = ReplaceColumnByExpressionType.Template;
ColumnDataType targetType = ColumnDataType
.getColumnDataTypeFromId(column.getDataTypeName());
@ -227,12 +234,18 @@ public class ReplaceWidget extends SimpleContainer {
}
protected void setup() {
itemIdComboConcat = "ComboConcat" + trId.getId();
itemIdComboLeaf = "ComboLeaf" + trId.getId();
itemIdComboColumns = "ComboColumns" + trId.getId();
itemIdFirstArg = "FirstArg" + trId.getId();
itemIdSecondArg = "SecondArg" + trId.getId();
itemIdHoriz = "Horiz" + trId.getId();
String sign="columnX";
if(column!=null&& column.getName()!=null){
sign=column.getName();
}
itemIdComboConcat = "ComboConcat" + sign;
itemIdComboLeaf = "ComboLeaf" + sign;
itemIdComboColumns = "ComboColumns" + sign;
itemIdFirstArg = "FirstArg" + sign;
itemIdSecondArg = "SecondArg" + sign;
itemIdHoriz = "Horiz" + sign;
vert = new VerticalLayoutContainer();
// vert.setScrollMode(ScrollMode.AUTO); Set in GXT 3.0.1

View File

@ -1,6 +1,6 @@
package org.gcube.portlets.user.td.expressionwidget.client.expression;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.ExpressionWrapper;
/**
*
@ -13,7 +13,7 @@ public class ExpressionWrapperNotification {
private ExpressionWrapper expressionWrapper;
public interface ExpressionWrapperNotificationListener {
void onExpression(ExpressionWrapperNotification expressionWrapper);
void onExpression(ExpressionWrapperNotification expressionWrapperNotification);
void aborted();
@ -26,12 +26,6 @@ public class ExpressionWrapperNotification {
public void removeExpressionWrapperNotificationListener(
ExpressionWrapperNotificationListener handler);
public void fire(ExpressionWrapperNotification notification);
public void fireAborted();
public void fireFailed(Throwable throwable);
}
@ -40,18 +34,6 @@ public class ExpressionWrapperNotification {
this.expressionWrapper = expressionWrapper;
}
public static void fire(HasExpressionWrapperNotificationListener source, ExpressionWrapper expressionWrapper) {
source.fire(new ExpressionWrapperNotification(expressionWrapper));
}
public static void fireAbort(HasExpressionWrapperNotificationListener source) {
source.fireAborted();
}
public static void fireFailed(HasExpressionWrapperNotificationListener source, Throwable throwable) {
source.fireFailed(throwable);
}
public ExpressionWrapper getExpressionWrapper() {
return expressionWrapper;

View File

@ -11,6 +11,7 @@ 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.gwtservice.shared.tr.ColumnMockUp;
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.shared.TRId;
@ -36,7 +37,7 @@ public class ReplaceExpressionDialog extends Window implements
private ArrayList<ExpressionWrapperNotificationListener> listeners;
private ColumnData column;
private ArrayList<ColumnData> columns;
private String columnLocalId;
//private String columnLocalId;
private TRId trId;
private EventBus eventBus;
@ -65,9 +66,39 @@ public class ReplaceExpressionDialog extends Window implements
}
/**
*
* Column and Columns must have set columnId, label, columnTypeCode and
* ColumnMockUp must have set columnId, label, columnTypeCode and ColumnDataType.
* Column is not used to construct the expression. Columns are retrieved
* from TRId.
*
*
* @param column
* @param trId
* @param eventBus
*/
public ReplaceExpressionDialog(ColumnMockUp columnMockUp, TRId trId,
EventBus eventBus) {
listeners=new ArrayList<ExpressionWrapperNotificationListener>();
this.eventBus = eventBus;
column = new ColumnData();
column.setColumnId(columnMockUp.getColumnId());
column.setLabel(columnMockUp.getLabel());
column.setDataTypeName(columnMockUp.getColumnDataType().toString());
column.setTypeCode(columnMockUp.getColumnType().toString());
type = ReplaceExpressionType.AddColumn;
initWindow();
load();
}
/**
*
* ColumnMockUp and ColumnMockUpList must have set columnId, label, columnTypeCode and
* ColumnDataType. Column is not used to construct the expression.
*
*
@ -75,12 +106,26 @@ public class ReplaceExpressionDialog extends Window implements
* @param columns
* @param eventBus
*/
public ReplaceExpressionDialog(ColumnData column,
ArrayList<ColumnData> columns, EventBus eventBus) {
public ReplaceExpressionDialog(ColumnMockUp columnMockUp,
ArrayList<ColumnMockUp> columnMockUpList, EventBus eventBus) {
listeners=new ArrayList<ExpressionWrapperNotificationListener>();
this.eventBus = eventBus;
this.column = column;
this.columns = columns;
column = new ColumnData();
column.setColumnId(columnMockUp.getColumnId());
column.setLabel(columnMockUp.getLabel());
column.setDataTypeName(columnMockUp.getColumnDataType().toString());
column.setTypeCode(columnMockUp.getColumnType().toString());
columns=new ArrayList<ColumnData>();
for(ColumnMockUp colMock:columnMockUpList){
ColumnData col = new ColumnData();
col.setColumnId(colMock.getColumnId());
col.setLabel(colMock.getLabel());
col.setDataTypeName(colMock.getColumnDataType().toString());
col.setTypeCode(colMock.getColumnType().toString());
columns.add(col);
}
type = ReplaceExpressionType.Template;
initWindow();
sanitizesColumns();
@ -170,8 +215,8 @@ public class ReplaceExpressionDialog extends Window implements
ColumnTypeCode.TIMEDIMENSION.toString()) == 0) {
removableColumn.add(c);
} else {
if (columnLocalId != null
&& c.getColumnId().compareTo(columnLocalId) == 0) {
if (column.getColumnId() != null
&& c.getColumnId().compareTo(column.getColumnId()) == 0) {
removableColumn.add(c);
}
}
@ -180,7 +225,7 @@ public class ReplaceExpressionDialog extends Window implements
}
protected void close() {
hide();
fireAborted();
}
@Override
@ -196,27 +241,27 @@ public class ReplaceExpressionDialog extends Window implements
}
@Override
public void fire(ExpressionWrapperNotification notification) {
protected void fire(ExpressionWrapperNotification notification) {
for(ExpressionWrapperNotificationListener listener:listeners){
listener.onExpression(notification);
}
hide();
}
@Override
public void fireAborted() {
protected void fireAborted() {
for(ExpressionWrapperNotificationListener listener:listeners){
listener.aborted();
}
hide();
}
@Override
public void fireFailed(Throwable throwable) {
protected void fireFailed(Throwable throwable) {
for(ExpressionWrapperNotificationListener listener:listeners){
listener.failed(throwable);;
}
hide();
}

View File

@ -10,9 +10,9 @@ import org.gcube.portlets.user.td.expressionwidget.shared.exception.ReplaceTypeM
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
import org.gcube.portlets.user.td.monitorwidget.client.utils.UtilsGXT3;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ExpressionWrapperEvent;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.client.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_Expression;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.C_ExpressionContainer;
import org.gcube.portlets.user.td.widgetcommonevent.shared.expression.ExpressionWrapper;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
@ -383,7 +383,6 @@ public class ReplaceExpressionPanel extends FramedPanel {
replaceValue, column.getTrId(), column.getColumnId(), column.getName());
expressionWrapperNotification=new ExpressionWrapperNotification(exWrapper);
parent.applyReplaceColumnByExpression(expressionWrapperNotification);
close();
break;
default:
break;
@ -429,7 +428,6 @@ public class ReplaceExpressionPanel extends FramedPanel {
replaceExpressionContainer, column.getTrId(), column.getColumnId(), column.getName());
expressionWrapperNotification=new ExpressionWrapperNotification(exWrapper);
parent.applyReplaceColumnByExpression(expressionWrapperNotification);
close();
break;
default:
break;

View File

@ -7,5 +7,5 @@ package org.gcube.portlets.user.td.expressionwidget.client.type;
*
*/
public enum ReplaceExpressionType {
Replace, Template;
AddColumn, Replace, Template;
}

View File

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

View File

@ -12,6 +12,7 @@
<!-- -->
<!-- Consider inlining CSS to reduce the number of requested files -->
<!-- -->
<link rel="stylesheet" type="text/css" href="ExpressionWidget/reset.css" />
<link type="text/css" rel="stylesheet" href="ExpressionWidget.css">
<!-- -->

View File

@ -10,7 +10,7 @@
<servlet-name>ExpressionService</servlet-name>
<servlet-class>org.gcube.portlets.user.td.expressionwidget.server.ExpressionServiceImpl</servlet-class>
</servlet>
<servlet>
<servlet-name>CExpressionMapServlet</servlet-name>
<servlet-class>org.gcube.portlets.user.td.expressionwidget.server.CExpressionMapServlet</servlet-class>
@ -19,7 +19,7 @@
<servlet-name>TDGWTService</servlet-name>
<servlet-class>org.gcube.portlets.user.td.gwtservice.server.TDGWTServiceImpl</servlet-class>
</servlet>
<servlet>
<servlet-name>jUnitHostImpl</servlet-name>
<servlet-class>com.google.gwt.junit.server.JUnitHostImpl</servlet-class>
@ -28,21 +28,20 @@
<!-- Servlets Mapping -->
<servlet-mapping>
<servlet-name>ExpressionService</servlet-name>
<url-pattern>ExpressionWidget/ExpressionService</url-pattern>
<url-pattern>/ExpressionWidget/ExpressionService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CExpressionMapServlet</servlet-name>
<url-pattern>ExpressionWidget/CExpressionMap</url-pattern>
<url-pattern>/ExpressionWidget/CExpressionMap</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>TDGWTService</servlet-name>
<url-pattern>ExpressionWidget/TDGWTService</url-pattern>
<url-pattern>/ExpressionWidget/TDGWTService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jUnitHostImpl</servlet-name>
<url-pattern>ExpressionWidget/junithost/*</url-pattern>
<url-pattern>/ExpressionWidget/junithost/*</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>