diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/trservice/ExtractCodelistOperationMap.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/trservice/ExtractCodelistOperationMap.java index 26d5961..782b9db 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/trservice/ExtractCodelistOperationMap.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/trservice/ExtractCodelistOperationMap.java @@ -2,13 +2,18 @@ package org.gcube.portlets.user.td.gwtservice.server.trservice; import java.util.ArrayList; import java.util.HashMap; +import java.util.List; 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.ColumnMetadata; import org.gcube.data.analysis.tabulardata.model.metadata.column.DataLocaleMetadata; +import org.gcube.data.analysis.tabulardata.model.metadata.common.ImmutableLocalizedText; +import org.gcube.data.analysis.tabulardata.model.metadata.common.LocalizedText; +import org.gcube.data.analysis.tabulardata.model.metadata.common.NamesMetadata; 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; @@ -65,15 +70,28 @@ public class ExtractCodelistOperationMap { column_definition.put( Constants.PARAMETER_EXTRACT_CODELIST_COLUMN_TYPE, columnType); - + + ArrayList metadata=new ArrayList(); + if (columnTypeCode == ColumnTypeCode.CODENAME) { DataLocaleMetadata dataLocaleMetadata = new DataLocaleMetadata( defNewColumn.getLocaleName()); - column_definition.put( - Constants.PARAMETER_EXTRACT_CODELIST_METADATA, - dataLocaleMetadata); + metadata.add(dataLocaleMetadata); + } + if(defNewColumn.getLabel()==null&&!defNewColumn.getLabel().isEmpty()){ + String label=defNewColumn.getLabel(); + List texts=new ArrayList(); + texts.add(new ImmutableLocalizedText(label)); + NamesMetadata nameMetadata=new NamesMetadata(texts); + metadata.add(nameMetadata); } + if(metadata.size()>0){ + column_definition.put( + Constants.PARAMETER_EXTRACT_CODELIST_METADATA, + metadata); + } + TDText defaultValue = new TDText(defNewColumn.getDefaultValue()); column_definition.put( Constants.PARAMETER_EXTRACT_CODELIST_DEFAULT,