diff --git a/common/client/src/main/java/zingg/common/client/FieldDefinition.java b/common/client/src/main/java/zingg/common/client/FieldDefinition.java index 55c0c52f..0adbd9e1 100644 --- a/common/client/src/main/java/zingg/common/client/FieldDefinition.java +++ b/common/client/src/main/java/zingg/common/client/FieldDefinition.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import zingg.common.client.cols.Named; import zingg.common.py.annotations.PythonClass; import zingg.common.py.annotations.PythonMethod; @@ -34,7 +35,7 @@ * */ @PythonClass(module = "client", outputDirectory = "python/zinggGenerated") -public class FieldDefinition implements +public class FieldDefinition implements Named, Serializable { private static final long serialVersionUID = 1L; @@ -125,6 +126,21 @@ public void setFieldName(String fieldName) { this.fieldName = fieldName; } + public boolean isDontUse() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'isDontUse'"); + } + + @Override + public String getName() { + return getFieldName(); + } + + @Override + public void setName(String name) { + setFieldName(name); + } + @Override public int hashCode() { final int prime = 31; diff --git a/common/client/src/main/java/zingg/common/client/cols/FieldDefSelectedCols.java b/common/client/src/main/java/zingg/common/client/cols/FieldDefSelectedCols.java index b769fbb9..85fc1737 100644 --- a/common/client/src/main/java/zingg/common/client/cols/FieldDefSelectedCols.java +++ b/common/client/src/main/java/zingg/common/client/cols/FieldDefSelectedCols.java @@ -3,16 +3,31 @@ import java.util.ArrayList; import java.util.List; +import zingg.common.client.FieldDefinition; + public class FieldDefSelectedCols extends SelectedCols { + public FieldDefSelectedCols(List fieldDefs, boolean showConcise) { - List namedList = new ArrayList<>(); + + List namedList = new ArrayList<>(); + for (FieldDefinition fieldDef : fieldDefs) { if (showConcise && fieldDef.isDontUse()) { continue; } namedList.add(fieldDef); } - namedList.add(new Named("source")); - setCols(namedList); + + namedList.add(new FieldDefinition()); + List stringList = convertNamedListToStringList(namedList); + setCols(stringList); + } + + private List convertNamedListToStringList(List namedList) { + List stringList = new ArrayList<>(); + for (FieldDefinition named : namedList) { + stringList.add(named.getName()); + } + return stringList; } } diff --git a/common/client/src/main/java/zingg/common/client/cols/FieldDefinition.java b/common/client/src/main/java/zingg/common/client/cols/FieldDefinition.java deleted file mode 100644 index 3afddf31..00000000 --- a/common/client/src/main/java/zingg/common/client/cols/FieldDefinition.java +++ /dev/null @@ -1,20 +0,0 @@ -package zingg.common.client.cols; - -public class FieldDefinition implements Named { - private String fieldName; - - @Override - public String getName() { - return fieldName; - } - - @Override - public void setName(String name) { - this.fieldName = name; - } - - public boolean isDontUse() { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'isDontUse'"); - } -} \ No newline at end of file diff --git a/common/client/src/main/java/zingg/common/client/cols/ISelectedCols.java b/common/client/src/main/java/zingg/common/client/cols/ISelectedCols.java index 3255692c..6d22a771 100644 --- a/common/client/src/main/java/zingg/common/client/cols/ISelectedCols.java +++ b/common/client/src/main/java/zingg/common/client/cols/ISelectedCols.java @@ -8,7 +8,9 @@ public interface ISelectedCols { String[] getCols(); - void setCols(String[] cols); - void setCols(List cols); -} \ No newline at end of file + + void setNamedCols(List n); + + void setStringCols(List cols); +} diff --git a/common/client/src/main/java/zingg/common/client/cols/Named.java b/common/client/src/main/java/zingg/common/client/cols/Named.java index 707a945c..f7c25647 100644 --- a/common/client/src/main/java/zingg/common/client/cols/Named.java +++ b/common/client/src/main/java/zingg/common/client/cols/Named.java @@ -1,6 +1,8 @@ package zingg.common.client.cols; public interface Named { + String getName(); + void setName(String name); } \ No newline at end of file diff --git a/common/client/src/main/java/zingg/common/client/cols/SelectedCols.java b/common/client/src/main/java/zingg/common/client/cols/SelectedCols.java index e2664c99..106afa53 100644 --- a/common/client/src/main/java/zingg/common/client/cols/SelectedCols.java +++ b/common/client/src/main/java/zingg/common/client/cols/SelectedCols.java @@ -21,18 +21,17 @@ public String[] getCols() { } @Override - public void setCols(String[] cols) { - this.cols = cols; + public void setCols(List strings) { + this.cols = strings.toArray(new String[0]); } @Override - public void setCols(List n) { + public void setNamedCols(List n) { this.cols = getCols(n); } @Override - public void setCols(List columnNames) { + public void setStringCols(List columnNames) { this.cols = columnNames.toArray(new String[0]); } -} - +} \ No newline at end of file diff --git a/common/client/src/main/java/zingg/common/client/cols/ZidAndFieldDefSelector.java b/common/client/src/main/java/zingg/common/client/cols/ZidAndFieldDefSelector.java index 9285c37f..20990ad7 100644 --- a/common/client/src/main/java/zingg/common/client/cols/ZidAndFieldDefSelector.java +++ b/common/client/src/main/java/zingg/common/client/cols/ZidAndFieldDefSelector.java @@ -1,5 +1,14 @@ package zingg.common.client.cols; +import java.util.Arrays; +import java.util.List; + public class ZidAndFieldDefSelector extends SelectedCols { - // Constructor and additional methods here + + public ZidAndFieldDefSelector(String[] fieldDefs) { + + List fieldDefList = Arrays.asList(fieldDefs); + fieldDefList.add(0, "zid"); + setCols(fieldDefList); + } } diff --git a/common/client/src/main/java/zingg/common/client/util/DSUtil.java b/common/client/src/main/java/zingg/common/client/util/DSUtil.java index 89c2a8d2..9deef437 100644 --- a/common/client/src/main/java/zingg/common/client/util/DSUtil.java +++ b/common/client/src/main/java/zingg/common/client/util/DSUtil.java @@ -223,11 +223,21 @@ public List getFieldDefColumns (ZFrame ds, IArguments args, boolean } + public ZFrame ZidSelector(ZFrame frame, IArguments args, boolean someFlag) { + return null; + } + // public ZFrame getFieldDefColumnsDS(ZFrame ds, IArguments args, boolean includeZid) { // return select(ds, getFieldDefColumns(ds, args, includeZid, false)); // } + + private Object getDSUtil() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getDSUtil'"); + } + public ZFrame getFieldDefColumnsDS(ZFrame ds, IArguments args, boolean includeZid) { - return getDSUtil().ZidSelector(getFieldDefColumns(ds, args, includeZid, false), args, true); + return ((DSUtil) getDSUtil()).ZidSelector(ds, args, true); } public ZFrame select(ZFrame ds, List cols) { diff --git a/common/core/src/main/java/zingg/common/core/executor/LabelDataViewHelper.java b/common/core/src/main/java/zingg/common/core/executor/LabelDataViewHelper.java index 1138c412..064b1595 100644 --- a/common/core/src/main/java/zingg/common/core/executor/LabelDataViewHelper.java +++ b/common/core/src/main/java/zingg/common/core/executor/LabelDataViewHelper.java @@ -1,5 +1,6 @@ package zingg.common.core.executor; +import java.util.ArrayList; import java.util.List; import org.apache.commons.logging.Log; @@ -44,9 +45,11 @@ public List getClusterIds(ZFrame lines) { // return getDSUtil().getFieldDefColumns(lines, args, false, args.getShowConcise()); // } @Override - public List getDisplayColumns(ZFrame lines, IArguments args) { - return getDSUtil().ZidSelector(lines, args, args.getShowConcise()); - } + public List getDisplayColumns(ZFrame lines, IArguments args) { + ZFrame resultFrame = getDSUtil().ZidSelector(lines, args, args.getShowConcise()); + List resultList = new ArrayList<>(); + return resultList; + } @Override diff --git a/common/core/src/main/java/zingg/common/core/executor/LabelUpdater.java b/common/core/src/main/java/zingg/common/core/executor/LabelUpdater.java index a2ecaf2a..4b7cb4b4 100644 --- a/common/core/src/main/java/zingg/common/core/executor/LabelUpdater.java +++ b/common/core/src/main/java/zingg/common/core/executor/LabelUpdater.java @@ -11,6 +11,7 @@ import zingg.common.client.options.ZinggOptions; import zingg.common.client.pipe.Pipe; import zingg.common.client.util.ColName; +import zingg.common.client.IArguments; import zingg.common.core.util.LabelMatchType; public abstract class LabelUpdater extends Labeller { @@ -34,9 +35,8 @@ public void execute() throws ZinggClientException { } } - @Override - public List getDisplayColumns(ZFrame lines, IArguments args) { - return getDSUtil().ZidSelector(lines, args, false, args.getShowConcise()); + public ZFrame getDisplayColumns(ZFrame lines, IArguments args) { + return getDSUtil().ZidSelector(lines, args, args.getShowConcise()); } public ZFrame processRecordsCli(ZFrame lines) throws ZinggClientException { diff --git a/common/core/src/main/java/zingg/common/core/executor/TrainingDataFinder.java b/common/core/src/main/java/zingg/common/core/executor/TrainingDataFinder.java index 606d2263..3dd3dcf3 100644 --- a/common/core/src/main/java/zingg/common/core/executor/TrainingDataFinder.java +++ b/common/core/src/main/java/zingg/common/core/executor/TrainingDataFinder.java @@ -188,7 +188,7 @@ public ZFrame getPositiveSamples(ZFrame data) throws Exception { } ZFrame posSample = data.sample(false, args.getLabelDataSampleSize()); //select only those columns which are mentioned in the field definitions - posSample = getDSUtil().getFieldDefColumnsDS(posSample, args, true); + posSample = getDSUtil().ZidSelector(posSample, args, true); if (LOG.isDebugEnabled()) { LOG.debug("Sampled " + posSample.count()); }