diff options
author | Erich Schubert <erich@debian.org> | 2012-06-30 00:55:33 +0200 |
---|---|---|
committer | Andrej Shadura <andrewsh@debian.org> | 2019-03-09 22:30:34 +0000 |
commit | 4343785ebed9d4145f417d86d581f18a0d31e4ac (patch) | |
tree | 546b0aa227d50caf4246be12f89ffcbae924f8e0 /src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java | |
parent | 593eae6c91717eb9f4ff5088ba460dd4210509c0 (diff) | |
parent | ace5fa7f57d49756c0e1b111a30f3b6a9436c1cb (diff) |
Import Debian changes 0.5.0-1
elki (0.5.0-1) unstable; urgency=low
* New upstream release: 0.5.0 final.
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java b/src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java index da5f066f..7d5b6c44 100644 --- a/src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java +++ b/src/de/lmu/ifi/dbs/elki/datasource/filter/NoMissingValuesFilter.java @@ -25,6 +25,7 @@ package de.lmu.ifi.dbs.elki.datasource.filter; import java.util.ArrayList; +import de.lmu.ifi.dbs.elki.datasource.bundle.BundleMeta; import de.lmu.ifi.dbs.elki.datasource.bundle.MultipleObjectsBundle; import de.lmu.ifi.dbs.elki.logging.Logging; import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer; @@ -34,13 +35,18 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer; * * @author Erich Schubert */ -public class NoMissingValuesFilter implements ObjectFilter { +public class NoMissingValuesFilter extends AbstractStreamFilter { /** * Class logger */ private static final Logging logger = Logging.getLogger(NoMissingValuesFilter.class); /** + * Number of columns + */ + private int cols = 0; + + /** * Constructor. */ public NoMissingValuesFilter() { @@ -48,6 +54,42 @@ public class NoMissingValuesFilter implements ObjectFilter { } @Override + public BundleMeta getMeta() { + return source.getMeta(); + } + + @Override + public Object data(int rnum) { + return source.data(rnum); + } + + @Override + public Event nextEvent() { + while(true) { + Event ev = source.nextEvent(); + switch(ev){ + case END_OF_STREAM: + return ev; + case META_CHANGED: + cols = source.getMeta().size(); + return ev; + case NEXT_OBJECT: + boolean good = true; + for(int j = 0; j < cols; j++) { + if(source.data(j) == null) { + good = false; + break; + } + } + if(good) { + return ev; + } + continue; + } + } + } + + @Override public MultipleObjectsBundle filter(final MultipleObjectsBundle objects) { if(logger.isDebugging()) { logger.debug("Filtering the data set"); |