Minor Update
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@93793 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
c4284e6506
commit
43d260194a
|
@ -40,6 +40,7 @@ import org.gcube.data.analysis.tabulardata.commons.webservice.types.TaskStatus;
|
||||||
import org.gcube.data.analysis.tabulardata.commons.webservice.types.TemplateDescription;
|
import org.gcube.data.analysis.tabulardata.commons.webservice.types.TemplateDescription;
|
||||||
import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationDefinition;
|
import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationDefinition;
|
||||||
import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationExecution;
|
import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationExecution;
|
||||||
|
import org.gcube.data.analysis.tabulardata.expression.Expression;
|
||||||
import org.gcube.data.analysis.tabulardata.metadata.NoSuchMetadataException;
|
import org.gcube.data.analysis.tabulardata.metadata.NoSuchMetadataException;
|
||||||
import org.gcube.data.analysis.tabulardata.model.column.Column;
|
import org.gcube.data.analysis.tabulardata.model.column.Column;
|
||||||
import org.gcube.data.analysis.tabulardata.model.column.ColumnLocalId;
|
import org.gcube.data.analysis.tabulardata.model.column.ColumnLocalId;
|
||||||
|
@ -53,8 +54,6 @@ import org.gcube.data.analysis.tabulardata.model.column.type.DimensionColumnType
|
||||||
import org.gcube.data.analysis.tabulardata.model.column.type.IdColumnType;
|
import org.gcube.data.analysis.tabulardata.model.column.type.IdColumnType;
|
||||||
import org.gcube.data.analysis.tabulardata.model.column.type.TimeDimensionColumnType;
|
import org.gcube.data.analysis.tabulardata.model.column.type.TimeDimensionColumnType;
|
||||||
import org.gcube.data.analysis.tabulardata.model.column.type.ValidationColumnType;
|
import org.gcube.data.analysis.tabulardata.model.column.type.ValidationColumnType;
|
||||||
import org.gcube.data.analysis.tabulardata.model.datatype.value.TDInteger;
|
|
||||||
import org.gcube.data.analysis.tabulardata.model.datatype.value.TDTypeValue;
|
|
||||||
import org.gcube.data.analysis.tabulardata.model.metadata.column.ViewColumnMetadata;
|
import org.gcube.data.analysis.tabulardata.model.metadata.column.ViewColumnMetadata;
|
||||||
import org.gcube.data.analysis.tabulardata.model.metadata.common.DescriptionsMetadata;
|
import org.gcube.data.analysis.tabulardata.model.metadata.common.DescriptionsMetadata;
|
||||||
import org.gcube.data.analysis.tabulardata.model.metadata.common.ImmutableLocalizedText;
|
import org.gcube.data.analysis.tabulardata.model.metadata.common.ImmutableLocalizedText;
|
||||||
|
@ -88,10 +87,10 @@ import org.gcube.portlets.user.td.gwtservice.server.file.FileUploadSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.file.FileUtil;
|
import org.gcube.portlets.user.td.gwtservice.server.file.FileUtil;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.storage.FilesStorage;
|
import org.gcube.portlets.user.td.gwtservice.server.storage.FilesStorage;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.ColumnDataTypeMap;
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.ColumnDataTypeMap;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.ExpressionGenerator;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationDefinitionMap;
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationDefinitionMap;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationsId;
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationsId;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.QueryService;
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.QueryService;
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.TDTypeValueMap;
|
|
||||||
import org.gcube.portlets.user.td.gwtservice.server.trservice.TaskStateMap;
|
import org.gcube.portlets.user.td.gwtservice.server.trservice.TaskStateMap;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
|
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.csv.AvailableCharsetList;
|
import org.gcube.portlets.user.td.gwtservice.shared.csv.AvailableCharsetList;
|
||||||
|
@ -3000,20 +2999,19 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
OperationDefinition operationDefinition;
|
OperationDefinition operationDefinition;
|
||||||
Map<String, Object> map = new HashMap<String, Object>();
|
Map<String, Object> map = new HashMap<String, Object>();
|
||||||
|
|
||||||
|
|
||||||
if(replaceColumnSession.isReplaceDimension()){
|
if(replaceColumnSession.isReplaceDimension()){
|
||||||
logger.debug("Is a Replace of view column");
|
logger.debug("Is a Replace of view column");
|
||||||
operationDefinition = OperationDefinitionMap.map(
|
operationDefinition = OperationDefinitionMap.map(
|
||||||
OperationsId.ReplaceById.toString(),
|
OperationsId.ReplaceColumnByExpression.toString(),
|
||||||
capabilities);
|
capabilities);
|
||||||
|
|
||||||
Integer rowId=new Integer(replaceColumnSession.getRowId());
|
|
||||||
String replaceValue=replaceColumnSession.getReplaceValue();
|
|
||||||
|
|
||||||
Integer in = new Integer(replaceValue);
|
Expression condition=ExpressionGenerator.genReplaceValueParameterCondition(replaceColumnSession);
|
||||||
TDTypeValue tdValue = new TDInteger(in);
|
Expression value=ExpressionGenerator.genReplaceValueParameterValue(replaceColumnSession);
|
||||||
|
|
||||||
map.put(Constants.PARAMETER_REPLACE_COLUMN_VALUE, tdValue);
|
map.put(Constants.PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_CONDITION, condition);
|
||||||
map.put(Constants.PARAMETER_REPLACE_COLUMN_ID, rowId);
|
map.put(Constants.PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_VALUE, value);
|
||||||
|
|
||||||
invocation = new OperationExecution(replaceColumnSession
|
invocation = new OperationExecution(replaceColumnSession
|
||||||
.getColumnData().getColumnViewData().getSourceTableDimensionColumnId(),
|
.getColumnData().getColumnViewData().getSourceTableDimensionColumnId(),
|
||||||
|
@ -3027,13 +3025,12 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
OperationsId.ReplaceById.toString(),
|
OperationsId.ReplaceById.toString(),
|
||||||
capabilities);
|
capabilities);
|
||||||
|
|
||||||
Integer rowId=new Integer(replaceColumnSession.getRowId());
|
Expression condition=ExpressionGenerator.genReplaceValueParameterCondition(replaceColumnSession);
|
||||||
String dataTypeName=replaceColumnSession.getColumnData().getDataTypeName();
|
Expression value=ExpressionGenerator.genReplaceValueParameterValue(replaceColumnSession);
|
||||||
String replaceValue=replaceColumnSession.getReplaceValue();
|
|
||||||
|
map.put(Constants.PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_CONDITION, condition);
|
||||||
|
map.put(Constants.PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_VALUE, value);
|
||||||
|
|
||||||
TDTypeValue tdValue=TDTypeValueMap.map(dataTypeName, replaceValue);
|
|
||||||
map.put(Constants.PARAMETER_REPLACE_COLUMN_VALUE, tdValue);
|
|
||||||
map.put(Constants.PARAMETER_REPLACE_COLUMN_ID, rowId);
|
|
||||||
|
|
||||||
invocation = new OperationExecution(replaceColumnSession
|
invocation = new OperationExecution(replaceColumnSession
|
||||||
.getColumnData().getColumnId(),
|
.getColumnData().getColumnId(),
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
package org.gcube.portlets.user.td.gwtservice.server.trservice;
|
||||||
|
|
||||||
|
import org.gcube.data.analysis.tabulardata.expression.Expression;
|
||||||
|
import org.gcube.data.analysis.tabulardata.expression.composite.comparable.Equals;
|
||||||
|
import org.gcube.data.analysis.tabulardata.model.column.ColumnLocalId;
|
||||||
|
import org.gcube.data.analysis.tabulardata.model.column.ColumnReference;
|
||||||
|
import org.gcube.data.analysis.tabulardata.model.datatype.value.TDInteger;
|
||||||
|
import org.gcube.data.analysis.tabulardata.model.datatype.value.TDTypeValue;
|
||||||
|
import org.gcube.data.analysis.tabulardata.model.table.TableId;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.column.ReplaceColumnSession;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author "Giancarlo Panichi"
|
||||||
|
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ExpressionGenerator {
|
||||||
|
public static Expression genReplaceValueParameterCondition(
|
||||||
|
ReplaceColumnSession replaceColumnSession) throws TDGWTServiceException {
|
||||||
|
if (replaceColumnSession.isReplaceDimension()) {
|
||||||
|
// Dimension
|
||||||
|
TableId tableId = new TableId(Long.valueOf(replaceColumnSession
|
||||||
|
.getColumnData().getTrId().getTableId()));
|
||||||
|
|
||||||
|
ColumnReference cr = new ColumnReference(tableId,
|
||||||
|
new ColumnLocalId(replaceColumnSession.getColumnData()
|
||||||
|
.getColumnViewData()
|
||||||
|
.getSourceTableDimensionColumnId()));
|
||||||
|
|
||||||
|
Equals eq = new Equals(cr, new TDInteger(
|
||||||
|
Integer.parseInt(replaceColumnSession.getRowId())));
|
||||||
|
|
||||||
|
return eq;
|
||||||
|
} else {
|
||||||
|
// Simple
|
||||||
|
TableId tableId = new TableId(Long.valueOf(replaceColumnSession
|
||||||
|
.getColumnData().getTrId().getTableId()));
|
||||||
|
|
||||||
|
ColumnReference cr = new ColumnReference(tableId,
|
||||||
|
new ColumnLocalId(replaceColumnSession.getColumnData()
|
||||||
|
.getColumnId()));
|
||||||
|
|
||||||
|
TDTypeValue td=TDTypeValueMap.map(replaceColumnSession.getColumnData()
|
||||||
|
.getDataTypeName(), replaceColumnSession.getValue());
|
||||||
|
Equals eq = new Equals(cr, td);
|
||||||
|
|
||||||
|
return eq;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Expression genReplaceValueParameterValue(
|
||||||
|
ReplaceColumnSession replaceColumnSession) throws TDGWTServiceException {
|
||||||
|
if (replaceColumnSession.isReplaceDimension()) {
|
||||||
|
TDInteger value = new TDInteger(Integer.parseInt(replaceColumnSession
|
||||||
|
.getReplaceValue()));
|
||||||
|
return value;
|
||||||
|
} else {
|
||||||
|
TDTypeValue td=TDTypeValueMap.map(replaceColumnSession.getColumnData()
|
||||||
|
.getDataTypeName(), replaceColumnSession.getValue());
|
||||||
|
return td;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -30,8 +30,12 @@ public class Constants {
|
||||||
public static final String PARAMETER_DATA_TYPE="dataType";
|
public static final String PARAMETER_DATA_TYPE="dataType";
|
||||||
public static final String PARAMETER_TARGET_DATA_TYPE="targetDataType";
|
public static final String PARAMETER_TARGET_DATA_TYPE="targetDataType";
|
||||||
|
|
||||||
public static final String PARAMETER_REPLACE_COLUMN_VALUE="value";
|
public static final String PARAMETER_REPLACE_ID_COLUMN_VALUE="value";
|
||||||
public static final String PARAMETER_REPLACE_COLUMN_ID="id";
|
public static final String PARAMETER_REPLACE_ID_COLUMN_ID="id";
|
||||||
|
|
||||||
|
public static final String PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_CONDITION="condition";
|
||||||
|
public static final String PARAMETER_REPLACE_BY_EXPRESSION_COLUMN_VALUE="value";
|
||||||
|
|
||||||
|
|
||||||
public static final String NAME_PARAMETER_ID="NAME_PARAMETER_ID";
|
public static final String NAME_PARAMETER_ID="NAME_PARAMETER_ID";
|
||||||
public static final String PARAMETER_KEY="key";
|
public static final String PARAMETER_KEY="key";
|
||||||
|
|
|
@ -15,8 +15,8 @@ public class ReplaceColumnSession implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = -1896235499708614266L;
|
private static final long serialVersionUID = -1896235499708614266L;
|
||||||
|
|
||||||
protected String value;
|
protected String value; //Original value
|
||||||
protected String replaceValue;
|
protected String replaceValue; //New value
|
||||||
protected TRId trId;
|
protected TRId trId;
|
||||||
protected ColumnData columnData;
|
protected ColumnData columnData;
|
||||||
protected String rowId;
|
protected String rowId;
|
||||||
|
|
Loading…
Reference in New Issue