Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@99169 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-07-31 15:29:25 +00:00
parent add56134c8
commit ddaf700787
5 changed files with 104 additions and 44 deletions

View File

@ -7587,18 +7587,20 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
OpExecutionDirector director = new OpExecutionDirector(); OpExecutionDirector director = new OpExecutionDirector();
director.setOperationExecutionBuilder(opEx); director.setOperationExecutionBuilder(opEx);
director.constructOperationExecution(); director.constructOperationExecution();
OperationExecution invocation = director.getOperationExecution(); ArrayList<OperationExecution> invocations = director
.getListOperationExecution();
if (invocation == null) { if (invocations == null) {
throw new TDGWTServiceException( throw new TDGWTServiceException(
"Error in invocation: Operation not supported"); "Error in invocation: Operation not supported");
} }
Long id = Long.valueOf(mergeColumnSession.getColumnData().getTrId()
Long id = Long.valueOf(mergeColumnSession.getColumnDataSource1().getTrId()
.getId()); .getId());
TabularResourceId serviceTR = new TabularResourceId(id); TabularResourceId serviceTR = new TabularResourceId(id);
logger.debug("OperationInvocation: \n" + invocation.toString()); logger.debug("OperationInvocation: \n" + invocations.toString());
Task trTask = service.execute(invocation, serviceTR); Task trTask = service.executeBatch(invocations, serviceTR);
logger.debug("Merge Column on service: TaskId " + trTask.getId()); logger.debug("Merge Column on service: TaskId " + trTask.getId());
SessionUtil.setMergeColumnTask(session, trTask); SessionUtil.setMergeColumnTask(session, trTask);
return; return;
@ -7665,7 +7667,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
logger.debug("Task Result:" + task.getResult()); logger.debug("Task Result:" + task.getResult());
mergeColumnMonitor.setProgress(task.getProgress()); mergeColumnMonitor.setProgress(task.getProgress());
trId = new TRId(); trId = new TRId();
trId.setId(mergeColumnSession.getColumnData().getTrId() trId.setId(mergeColumnSession.getColumnDataSource1().getTrId()
.getId()); .getId());
trId = retrieveTabularResourceBasicData(trId); trId = retrieveTabularResourceBasicData(trId);
mergeColumnMonitor.setTrId(trId); mergeColumnMonitor.setTrId(trId);
@ -7688,7 +7690,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
logger.debug("Task Result:" + task.getResult()); logger.debug("Task Result:" + task.getResult());
mergeColumnMonitor.setProgress(task.getProgress()); mergeColumnMonitor.setProgress(task.getProgress());
trId = retrieveTabularResourceBasicData(mergeColumnSession trId = retrieveTabularResourceBasicData(mergeColumnSession
.getColumnData().getTrId()); .getColumnDataSource1().getTrId());
mergeColumnMonitor.setTrId(trId); mergeColumnMonitor.setTrId(trId);
tabResource = SessionUtil.getTabResource(session); tabResource = SessionUtil.getTabResource(session);

View File

@ -1,5 +1,6 @@
package org.gcube.portlets.user.td.gwtservice.server.opexecution; package org.gcube.portlets.user.td.gwtservice.server.opexecution;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -40,8 +41,7 @@ public class OpExecution4MergeColumn extends OpExecutionBuilder {
@Override @Override
public void buildOpEx() throws TDGWTServiceException { public void buildOpEx() throws TDGWTServiceException {
ArrayList<OperationExecution> invocations = new ArrayList<OperationExecution>();
OperationExecution invocation = null;
logger.debug(mergeColumnSession.toString()); logger.debug(mergeColumnSession.toString());
@ -63,10 +63,27 @@ public class OpExecution4MergeColumn extends OpExecutionBuilder {
map.put(Constants.PARAMETER_ADD_COLUMN_LABEL, map.put(Constants.PARAMETER_ADD_COLUMN_LABEL,
new ImmutableLocalizedText(mergeColumnSession.getLabel())); new ImmutableLocalizedText(mergeColumnSession.getLabel()));
map.put(Constants.PARAMETER_ADD_COLUMN_VALUE, expression); map.put(Constants.PARAMETER_ADD_COLUMN_VALUE, expression);
invocation = new OperationExecution( invocations.add(new OperationExecution(operationDefinition
operationDefinition.getOperationId(), map); .getOperationId(), map));
operationExecutionSpec.setOp(invocation); if (mergeColumnSession.isDeleteColumn()) {
OperationDefinition operationDefinitionRemoveColumn = OperationDefinitionMap
.map(OperationsId.RemoveColumn.toString(), service);
Map<String, Object> mapRemoveColumn = new HashMap<String, Object>();
invocations.add(new OperationExecution(mergeColumnSession
.getColumnDataSource1().getColumnId(),
operationDefinitionRemoveColumn.getOperationId(),
mapRemoveColumn));
invocations.add(new OperationExecution(mergeColumnSession
.getColumnDataSource2().getColumnId(),
operationDefinitionRemoveColumn.getOperationId(),
mapRemoveColumn));
}
operationExecutionSpec.setOps(invocations);
} }

View File

@ -78,6 +78,20 @@ public class OpExecution4SplitColumn extends OpExecutionBuilder {
invocations.add(new OperationExecution(operationDefinition invocations.add(new OperationExecution(operationDefinition
.getOperationId(), map2)); .getOperationId(), map2));
if (splitColumnSession.isDeleteColumn()) {
OperationDefinition operationDefinitionRemoveColumn = OperationDefinitionMap
.map(OperationsId.RemoveColumn.toString(), service);
Map<String, Object> mapRemoveColumn = new HashMap<String, Object>();
OperationExecution invocationRemoveColumn = null;
invocationRemoveColumn = new OperationExecution(splitColumnSession
.getColumnData().getColumnId(),
operationDefinitionRemoveColumn.getOperationId(),
mapRemoveColumn);
invocations.add(invocationRemoveColumn);
}
operationExecutionSpec.setOps(invocations); operationExecutionSpec.setOps(invocations);

View File

@ -17,11 +17,13 @@ public class MergeColumnSession implements Serializable {
private static final long serialVersionUID = -1896235499708614266L; private static final long serialVersionUID = -1896235499708614266L;
protected ColumnData columnData; protected ColumnData columnDataSource1;
protected ColumnData columnDataSource2;
protected String label; protected String label;
protected Expression expression; protected Expression expression;
protected ColumnTypeCode mergeColumnType; protected ColumnTypeCode mergeColumnType;
protected ColumnDataType mergeColumnDataType; protected ColumnDataType mergeColumnDataType;
protected boolean deleteColumn;
public MergeColumnSession() { public MergeColumnSession() {
@ -35,25 +37,36 @@ public class MergeColumnSession implements Serializable {
* @param mergeColumnDataType * @param mergeColumnDataType
* @param expression * @param expression
*/ */
public MergeColumnSession(ColumnData columnData, public MergeColumnSession(ColumnData columnDataSource1,
ColumnData columnDataSource2,
String label, String label,
ColumnTypeCode mergeColumnType, ColumnTypeCode mergeColumnType,
ColumnDataType mergeColumnDataType, ColumnDataType mergeColumnDataType,
Expression expression) { Expression expression, boolean deleteColumn) {
this.columnData = columnData; this.columnDataSource1 = columnDataSource1;
this.columnDataSource2 = columnDataSource2;
this.label = label; this.label = label;
this.expression = expression; this.expression = expression;
this.mergeColumnType=mergeColumnType; this.mergeColumnType=mergeColumnType;
this.mergeColumnDataType=mergeColumnDataType; this.mergeColumnDataType=mergeColumnDataType;
this.deleteColumn=deleteColumn;
} }
public ColumnData getColumnData() {
return columnData; public ColumnData getColumnDataSource1() {
return columnDataSource1;
} }
public void setColumnData(ColumnData columnData) { public void setColumnDataSource1(ColumnData columnDataSource1) {
this.columnData = columnData; this.columnDataSource1 = columnDataSource1;
}
public ColumnData getColumnDataSource2() {
return columnDataSource2;
}
public void setColumnDataSource2(ColumnData columnDataSource2) {
this.columnDataSource2 = columnDataSource2;
} }
public Expression getExpression() { public Expression getExpression() {
@ -88,16 +101,22 @@ public class MergeColumnSession implements Serializable {
this.mergeColumnDataType = mergeColumnDataType; this.mergeColumnDataType = mergeColumnDataType;
} }
public boolean isDeleteColumn() {
return deleteColumn;
}
public void setDeleteColumn(boolean deleteColumn) {
this.deleteColumn = deleteColumn;
}
@Override @Override
public String toString() { public String toString() {
return "MergeColumnSession [columnData=" + columnData + ", label=" return "MergeColumnSession [columnDataSource1=" + columnDataSource1
+ ", columnDataSource2=" + columnDataSource2 + ", label="
+ label + ", expression=" + expression + ", mergeColumnType=" + label + ", expression=" + expression + ", mergeColumnType="
+ mergeColumnType + ", mergeColumnDataType=" + mergeColumnType + ", mergeColumnDataType="
+ mergeColumnDataType + "]"; + mergeColumnDataType + ", deleteColumn=" + deleteColumn + "]";
} }
} }

View File

@ -26,6 +26,7 @@ public class SplitColumnSession implements Serializable {
protected String label2; protected String label2;
protected ColumnTypeCode secondSplitColumnType; protected ColumnTypeCode secondSplitColumnType;
protected ColumnDataType secondSplitColumnDataType; protected ColumnDataType secondSplitColumnDataType;
protected boolean deleteColumn;
public SplitColumnSession() { public SplitColumnSession() {
@ -43,13 +44,11 @@ public class SplitColumnSession implements Serializable {
* @param secondSplitColumnDataType * @param secondSplitColumnDataType
*/ */
public SplitColumnSession(ColumnData columnData, public SplitColumnSession(ColumnData columnData,
ArrayList<Expression> expressions, ArrayList<Expression> expressions, String label1,
String label1,
ColumnTypeCode firstSplitColumnType, ColumnTypeCode firstSplitColumnType,
ColumnDataType firstSplitColumnDataType, ColumnDataType firstSplitColumnDataType, String label2,
String label2,
ColumnTypeCode secondSplitColumnType, ColumnTypeCode secondSplitColumnType,
ColumnDataType secondSplitColumnDataType) { ColumnDataType secondSplitColumnDataType, boolean deleteColumn) {
this.columnData = columnData; this.columnData = columnData;
this.expressions = expressions; this.expressions = expressions;
this.label1 = label1; this.label1 = label1;
@ -58,6 +57,7 @@ public class SplitColumnSession implements Serializable {
this.label2 = label2; this.label2 = label2;
this.secondSplitColumnType = secondSplitColumnType; this.secondSplitColumnType = secondSplitColumnType;
this.secondSplitColumnDataType = secondSplitColumnDataType; this.secondSplitColumnDataType = secondSplitColumnDataType;
this.deleteColumn = deleteColumn;
} }
@ -113,7 +113,8 @@ public class SplitColumnSession implements Serializable {
return firstSplitColumnDataType; return firstSplitColumnDataType;
} }
public void setFirstSplitColumnDataType(ColumnDataType firstSplitColumnDataType) { public void setFirstSplitColumnDataType(
ColumnDataType firstSplitColumnDataType) {
this.firstSplitColumnDataType = firstSplitColumnDataType; this.firstSplitColumnDataType = firstSplitColumnDataType;
} }
@ -126,17 +127,24 @@ public class SplitColumnSession implements Serializable {
this.secondSplitColumnDataType = secondSplitColumnDataType; this.secondSplitColumnDataType = secondSplitColumnDataType;
} }
@Override public boolean isDeleteColumn() {
public String toString() { return deleteColumn;
return "SplitColumnSession [columnData=" + columnData + ", label1="
+ label1 + ", label2=" + label2 + ", expressions="
+ expressions + ", firstSplitColumnType="
+ firstSplitColumnType + ", firstSplitColumnDataType="
+ firstSplitColumnDataType + ", secondSplitColumnType="
+ secondSplitColumnType + ", secondSplitColumnDataType="
+ secondSplitColumnDataType + "]";
} }
public void setDeleteColumn(boolean deleteColumn) {
this.deleteColumn = deleteColumn;
}
@Override
public String toString() {
return "SplitColumnSession [columnData=" + columnData
+ ", expressions=" + expressions + ", label1=" + label1
+ ", firstSplitColumnType=" + firstSplitColumnType
+ ", firstSplitColumnDataType=" + firstSplitColumnDataType
+ ", label2=" + label2 + ", secondSplitColumnType="
+ secondSplitColumnType + ", secondSplitColumnDataType="
+ secondSplitColumnDataType + ", deleteColumn=" + deleteColumn
+ "]";
}
} }