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:
parent
af3f870b75
commit
9a783add7f
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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";
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue