Minor Update

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@96238 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-05-29 10:17:38 +00:00
parent af3f870b75
commit 9a783add7f
4 changed files with 230 additions and 53 deletions

View File

@ -102,6 +102,7 @@ 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.trservice.ColumnDataTypeMap;
import org.gcube.portlets.user.td.gwtservice.server.trservice.ExpressionGenerator;
import org.gcube.portlets.user.td.gwtservice.server.trservice.ExtractCodelistOperationMap;
import org.gcube.portlets.user.td.gwtservice.server.trservice.ExtractReferences;
import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationDefinitionMap;
import org.gcube.portlets.user.td.gwtservice.server.trservice.QueryService;
@ -3950,7 +3951,22 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
OperationExecution invocation = null;
logger.debug(extractCodelistSession.toString());
OperationDefinition operationDefinition;
Map<String, Object> map = new HashMap<String, Object>();
ExtractCodelistOperationMap extractMap = new ExtractCodelistOperationMap();
ArrayList<Map<String, Object>> compositeValue = extractMap
.genMap(extractCodelistSession);
operationDefinition = OperationDefinitionMap.map(
OperationsId.ExtractCodelist.toString(), service);
map.put(Constants.PARAMETER_EXTRACT_CODELIST_COMPOSITE, compositeValue);
invocation = new OperationExecution(
operationDefinition.getOperationId(), map);
return invocation;
}
@ -7125,22 +7141,16 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
HttpSession session = this.getThreadLocalRequest().getSession();
SessionUtil.setExtractCodelistSession(session, extractCodelistSession);
ASLSession aslSession = SessionUtil.getAslSession(session);
logger.debug("StartExtractCodelist: " + extractCodelistSession);
AuthorizationProvider.instance.set(new AuthorizationToken(
aslSession.getUsername()));
TabularDataService service = TabularDataServiceFactory.getService();
if (extractCodelistSession == null) {
logger.error("ExtractCodelistSession is null");
throw new TDGWTServiceException(
"Error in extract codelist: ExtractCodelistSession is null");
}
if (extractCodelistSession.getTabResource() == null) {
logger.error("TabResource is null");
throw new TDGWTServiceException(
"Error in extract codelist, TabResource is null");
}
logger.debug("StartExtractCodelist: " + extractCodelistSession);
AuthorizationProvider.instance.set(new AuthorizationToken(
aslSession.getUsername()));
TabularDataService service = TabularDataServiceFactory.getService();
OperationExecution invocation = retrieveOperationExecution(service,
extractCodelistSession);

View File

@ -0,0 +1,46 @@
package org.gcube.portlets.user.td.gwtservice.server.trservice;
import org.gcube.data.analysis.tabulardata.model.column.ColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.AnnotationColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.AttributeColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.CodeColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.CodeDescriptionColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.CodeNameColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.DimensionColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.MeasureColumnType;
import org.gcube.data.analysis.tabulardata.model.column.type.TimeDimensionColumnType;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
/**
*
* @author "Giancarlo Panichi"
*
*/
public class ColumnTypeCodeMap {
public static ColumnType getColumnType(ColumnTypeCode columnTypeCode){
switch(columnTypeCode){
case ANNOTATION:
return new AnnotationColumnType();
case ATTRIBUTE:
return new AttributeColumnType();
case CODE:
return new CodeColumnType();
case CODEDESCRIPTION:
return new CodeDescriptionColumnType();
case CODENAME:
return new CodeNameColumnType();
case DIMENSION:
return new DimensionColumnType();
case MEASURE:
return new MeasureColumnType();
case TIMEDIMENSION:
return new TimeDimensionColumnType();
default:
return null;
}
}
}

View File

@ -0,0 +1,114 @@
package org.gcube.portlets.user.td.gwtservice.server.trservice;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
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.column.ColumnType;
import org.gcube.data.analysis.tabulardata.model.datatype.value.TDText;
import org.gcube.data.analysis.tabulardata.model.metadata.column.DataLocaleMetadata;
import org.gcube.data.analysis.tabulardata.model.table.TableId;
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
import org.gcube.portlets.user.td.gwtservice.shared.extract.ExtractCodelistSession;
import org.gcube.portlets.user.td.gwtservice.shared.extract.ExtractCodelistTargetColumn;
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.widgetcommonevent.shared.TRId;
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnTypeCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author "Giancarlo Panichi"
*
*/
public class ExtractCodelistOperationMap {
protected static Logger logger = LoggerFactory
.getLogger(ExtractCodelistOperationMap.class);
public ExtractCodelistOperationMap() {
}
public ArrayList<Map<String, Object>> genMap(
ExtractCodelistSession extractCodelistSession) {
logger.debug(extractCodelistSession.toString());
ArrayList<Map<String, Object>> composit = new ArrayList<Map<String, Object>>();
TRId trId = extractCodelistSession.getTrId();
TableId tableId;
if (trId.isViewTable()) {
tableId = new TableId(new Long(trId.getReferenceTargetTableId()));
} else {
tableId = new TableId(new Long(trId.getTableId()));
}
ArrayList<ExtractCodelistTargetColumn> targetColumns = extractCodelistSession
.getTargetColumns();
for (ExtractCodelistTargetColumn target : targetColumns) {
HashMap<String, Object> mapCol = new HashMap<String, Object>();
ColumnData sourceColumn = target.getSourceColumn();
ColumnLocalId columnSourceId = new ColumnLocalId(
sourceColumn.getColumnId());
ColumnReference source = new ColumnReference(tableId,
columnSourceId);
if (target.isNewColumn()) {
HashMap<String, Object> column_definition = new HashMap<String, Object>();
DefNewColumn defNewColumn = target.getDefColumn();
ColumnTypeCode columnTypeCode = defNewColumn.getColumnType();
ColumnType columnType = ColumnTypeCodeMap
.getColumnType(columnTypeCode);
column_definition.put(
Constants.PARAMETER_EXTRACT_CODELIST_COLUMN_TYPE,
columnType);
if (columnTypeCode == ColumnTypeCode.CODENAME) {
DataLocaleMetadata dataLocaleMetadata = new DataLocaleMetadata(
defNewColumn.getLocaleName());
column_definition.put(
Constants.PARAMETER_EXTRACT_CODELIST_METADATA,
dataLocaleMetadata);
}
TDText defaultValue = new TDText(defNewColumn.getDefaultValue());
column_definition.put(
Constants.PARAMETER_EXTRACT_CODELIST_DEFAULT,
defaultValue);
mapCol.put(Constants.PARAMETER_EXTRACT_CODELIST_SOURCE, source);
mapCol.put(
Constants.PARAMETER_EXTRACT_CODELIST_COLUMN_DEFINITION,
column_definition);
composit.add(mapCol);
} else {
ColumnData targetColumn = target.getTargetColumn();
TRId codelistTRId = target.getCodelist();
TableId codelistTableId;
if (codelistTRId.isViewTable()) {
codelistTableId = new TableId(new Long(
codelistTRId.getReferenceTargetTableId()));
} else {
codelistTableId = new TableId(new Long(
codelistTRId.getTableId()));
}
ColumnLocalId targetCodeColumnId = new ColumnLocalId(
targetColumn.getColumnId());
ColumnReference targetCodeColumn = new ColumnReference(
codelistTableId, targetCodeColumnId);
mapCol.put(Constants.PARAMETER_EXTRACT_CODELIST_SOURCE, source);
mapCol.put(
Constants.PARAMETER_EXTRACT_CODELIST_TARGET_CODE_COLUMN,
targetCodeColumn);
composit.add(mapCol);
}
}
logger.debug(composit.toString());
return composit;
}
}

View File

@ -3,61 +3,68 @@
*/
package org.gcube.portlets.user.td.gwtservice.shared;
/**
*
* @author "Giancarlo Panichi"
* <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
* @author "Giancarlo Panichi" <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class Constants {
public final static String VERSION = "2.1.0";
public final static String VERSION = "2.1.0";
public final static String DEFAULT_USER = "test.user";
public final static String DEFAULT_SCOPE = "/gcube/devsec";
public static final String PARAMETER_ENCODING = "encoding";
public static final String PARAMETER_HASHEADER = "hasHeader";
public static final String PARAMETER_FIELDMASK ="fieldMask";
public static final String PARAMETER_SKIPERROR ="skipError";
public static final String PARAMETER_FIELDMASK = "fieldMask";
public static final String PARAMETER_SKIPERROR = "skipError";
public static final String PARAMETER_SEPARATOR = "separator";
public static final String PARAMETER_COLUMNS = "columns";
public static final String PARAMETER_URL = "url";
public static final String PARAMETER_REGISTRYBASEURL ="registryBaseUrl";
public static final String PARAMETER_AGENCY ="agency";
public static final String PARAMETER_ID ="id";
public static final String PARAMETER_VERSION ="version";
public static final String PARAMETER_DATA_TYPE="dataType";
public static final String PARAMETER_TARGET_DATA_TYPE="targetDataType";
public static final String PARAMETER_ADDITIONAL_META="additionalMeta";
public static final String PARAMETER_REPLACE_ID_COLUMN_VALUE="value";
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 PARAMETER_ADD_ROW_COMPOSITE_FIELD="field";
public static final String PARAMETER_ADD_ROW_COMPOSITE_TOSETVALUE="toSetValue";
public static final String PARAMETER_ADD_ROW_COMPOSITE="mapping";
public static final String PARAMETER_EDIT_ROW_CONDITION="condition";
public static final String NAME_PARAMETER_ID="NAME_PARAMETER_ID";
public static final String PARAMETER_KEY="key";
public static final String PARAMETER_REFERENCE_COLUMN="refColumn";
public static final String PARAMETER_PERIOD_FORMAT="periodFormat";
public static final String PARAMETER_EXPRESSION="expression";
public static final String PARAMETER_TABLE_TYPE="tableType";
public static final String PARAMETER_ROW_ID="rowId";
public static final String REQUEST_PROPERTIES_REFCOLUMN="RefColumn";
public static final String REQUEST_PROPERTIES_COLUMNID="ColumnId";
public static final String REQUEST_PROPERTIES_TASKID="TaskId";
public static final String PARAMETER_REGISTRYBASEURL = "registryBaseUrl";
public static final String PARAMETER_AGENCY = "agency";
public static final String PARAMETER_ID = "id";
public static final String PARAMETER_VERSION = "version";
public static final String PARAMETER_DATA_TYPE = "dataType";
public static final String PARAMETER_TARGET_DATA_TYPE = "targetDataType";
public static final String PARAMETER_ADDITIONAL_META = "additionalMeta";
public static final String PARAMETER_REPLACE_ID_COLUMN_VALUE = "value";
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 PARAMETER_ADD_ROW_COMPOSITE_FIELD = "field";
public static final String PARAMETER_ADD_ROW_COMPOSITE_TOSETVALUE = "toSetValue";
public static final String PARAMETER_ADD_ROW_COMPOSITE = "mapping";
public static final String PARAMETER_EXTRACT_CODELIST_SOURCE = "source";
public static final String PARAMETER_EXTRACT_CODELIST_TARGET_CODE_COLUMN = "target_code_column";
public static final String PARAMETER_EXTRACT_CODELIST_COLUMN_DEFINITION = "column_definition";
public static final String PARAMETER_EXTRACT_CODELIST_COLUMN_TYPE = "column_type";
public static final String PARAMETER_EXTRACT_CODELIST_METADATA = "metadata";
public static final String PARAMETER_EXTRACT_CODELIST_DEFAULT = "default";
public static final String PARAMETER_EXTRACT_CODELIST_COMPOSITE = "mapping";
public static final String PARAMETER_EDIT_ROW_CONDITION = "condition";
public static final String NAME_PARAMETER_ID = "NAME_PARAMETER_ID";
public static final String PARAMETER_KEY = "key";
public static final String PARAMETER_REFERENCE_COLUMN = "refColumn";
public static final String PARAMETER_PERIOD_FORMAT = "periodFormat";
public static final String PARAMETER_EXPRESSION = "expression";
public static final String PARAMETER_TABLE_TYPE = "tableType";
public static final String PARAMETER_ROW_ID = "rowId";
public static final String REQUEST_PROPERTIES_REFCOLUMN = "RefColumn";
public static final String REQUEST_PROPERTIES_COLUMNID = "ColumnId";
public static final String REQUEST_PROPERTIES_TASKID = "TaskId";
}