diff options
author | Andrej Shadura <andrewsh@debian.org> | 2019-03-09 22:30:32 +0000 |
---|---|---|
committer | Andrej Shadura <andrewsh@debian.org> | 2019-03-09 22:30:32 +0000 |
commit | c36aa2a8fd31ca5e225ff30278e910070cd2c8c1 (patch) | |
tree | bdfe1a5ccb57999d4d664a2a44121a78c88b19d4 /src/de/lmu/ifi/dbs/elki/result/textwriter | |
parent | 89aa1958dbaf9052da0c24706308a2ef8cefa96e (diff) |
Import Upstream version 0.5.0~beta2
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/result/textwriter')
20 files changed, 75 insertions, 80 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/MultipleFilesOutput.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/MultipleFilesOutput.java index 51eb5f8e..d891f1ee 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/MultipleFilesOutput.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/MultipleFilesOutput.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/SingleStreamOutput.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/SingleStreamOutput.java index 1e4e5773..46472f52 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/SingleStreamOutput.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/SingleStreamOutput.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/StreamFactory.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/StreamFactory.java index 1656d76d..0f27b354 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/StreamFactory.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/StreamFactory.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriteable.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriteable.java index ffc522eb..a8de4c46 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriteable.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriteable.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriter.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriter.java index bbe3212b..d947547f 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriter.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriter.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -29,8 +29,8 @@ import java.io.PrintStream; import java.util.BitSet; import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -51,7 +51,6 @@ import de.lmu.ifi.dbs.elki.datasource.bundle.SingleObjectBundle; import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance; import de.lmu.ifi.dbs.elki.math.linearalgebra.Vector; import de.lmu.ifi.dbs.elki.result.CollectionResult; -import de.lmu.ifi.dbs.elki.result.HierarchicalResult; import de.lmu.ifi.dbs.elki.result.IterableResult; import de.lmu.ifi.dbs.elki.result.OrderingResult; import de.lmu.ifi.dbs.elki.result.Result; @@ -225,63 +224,57 @@ public class TextWriter { * @throws IOException on IO error */ public void output(Database db, Result r, StreamFactory streamOpener) throws UnableToComplyException, IOException { - List<Relation<?>> ra = null; - List<OrderingResult> ro = null; - List<Clustering<? extends Model>> rc = null; - List<IterableResult<?>> ri = null; - List<SettingsResult> rs = null; - HashSet<Result> otherres = null; + List<Relation<?>> ra = new LinkedList<Relation<?>>(); + List<OrderingResult> ro = new LinkedList<OrderingResult>(); + List<Clustering<?>> rc = new LinkedList<Clustering<?>>(); + List<IterableResult<?>> ri = new LinkedList<IterableResult<?>>(); + List<SettingsResult> rs = new LinkedList<SettingsResult>(); + List<Result> otherres = new LinkedList<Result>(); - ra = ResultUtil.getRelations(r); - ro = ResultUtil.getOrderingResults(r); - rc = ResultUtil.getClusteringResults(r); - ri = ResultUtil.getIterableResults(r); - rs = ResultUtil.getSettingsResults(r); // collect other results - if(r instanceof HierarchicalResult) { - final List<Result> resultList = ResultUtil.filterResults((HierarchicalResult) r, Result.class); - otherres = new HashSet<Result>(resultList); - otherres.removeAll(ra); - otherres.removeAll(ro); - otherres.removeAll(rc); - otherres.removeAll(ri); - otherres.removeAll(rs); - otherres.remove(db); - Iterator<Result> it = otherres.iterator(); - while(it.hasNext()) { - if(it.next() instanceof HierarchicalResult) { - it.remove(); + { + for(Result res : ResultUtil.filteredResults(r, Result.class)) { + if(res instanceof Database) { + continue; + } + if(res instanceof Relation) { + ra.add((Relation<?>) res); + continue; + } + if(res instanceof OrderingResult) { + ro.add((OrderingResult) res); + continue; + } + if(res instanceof Clustering) { + rc.add((Clustering<?>) res); + continue; + } + if(res instanceof IterableResult) { + ri.add((IterableResult<?>) res); + continue; + } + if(res instanceof SettingsResult) { + rs.add((SettingsResult) res); + continue; } + otherres.add(res); } } - if(ra == null && ro == null && rc == null && ri == null) { - throw new UnableToComplyException("No printable result found."); + for(IterableResult<?> rii : ri) { + writeIterableResult(streamOpener, rii, rs); } - - if(ri != null && ri.size() > 0) { - // TODO: associations are not passed to ri results. - for(IterableResult<?> rii : ri) { - writeIterableResult(streamOpener, rii, rs); - } - } - if(rc != null && rc.size() > 0) { - for(Clustering<?> c : rc) { - NamingScheme naming = new SimpleEnumeratingScheme(c); - for(Cluster<?> clus : c.getAllClusters()) { - writeClusterResult(db, streamOpener, clus, ra, naming, rs); - } + for(Clustering<?> c : rc) { + NamingScheme naming = new SimpleEnumeratingScheme(c); + for(Cluster<?> clus : c.getAllClusters()) { + writeClusterResult(db, streamOpener, clus, ra, naming, rs); } } - if(ro != null && ro.size() > 0) { - for(OrderingResult ror : ro) { - writeOrderingResult(db, streamOpener, ror, ra, rs); - } + for(OrderingResult ror : ro) { + writeOrderingResult(db, streamOpener, ror, ra, rs); } - if(otherres != null && otherres.size() > 0) { - for(Result otherr : otherres) { - writeOtherResult(streamOpener, otherr, rs); - } + for(Result otherr : otherres) { + writeOtherResult(streamOpener, otherr, rs); } } @@ -290,16 +283,18 @@ public class TextWriter { // Write database element itself. for(int i = 0; i < bundle.metaLength(); i++) { Object obj = bundle.data(i); - TextWriterWriterInterface<?> owriter = out.getWriterFor(obj); - if(owriter == null) { - throw new UnableToComplyException("No handler for database object itself: " + obj.getClass().getSimpleName()); - } - String lbl = null; - // TODO: ugly compatibility hack... - if(TypeUtil.DBID.isAssignableFromType(bundle.meta(i))) { - lbl = "ID"; + if(obj != null) { + TextWriterWriterInterface<?> owriter = out.getWriterFor(obj); + if(owriter == null) { + throw new UnableToComplyException("No handler for database object itself: " + obj.getClass().getSimpleName()); + } + String lbl = null; + // TODO: ugly compatibility hack... + if(TypeUtil.DBID.isAssignableFromType(bundle.meta(i))) { + lbl = "ID"; + } + owriter.writeObject(out, lbl, obj); } - owriter.writeObject(out, lbl, obj); } Collection<Relation<?>> dbrels = db.getRelations(); @@ -307,7 +302,7 @@ public class TextWriter { if(ra != null) { for(Relation<?> a : ra) { // Avoid duplicated output. - if (dbrels.contains(a)) { + if(dbrels.contains(a)) { continue; } String label = a.getShortName(); @@ -357,7 +352,7 @@ public class TextWriter { // Write cluster information out.commentPrintLn("Cluster: " + naming.getNameFor(clus)); Model model = clus.getModel(); - if (model != ClusterModel.CLUSTER) { + if(model != ClusterModel.CLUSTER && model != null) { TextWriterWriterInterface<?> mwri = writers.getHandler(model); mwri.writeObject(out, null, model); } diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterStream.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterStream.java index b59a09e9..ce60c856 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterStream.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterStream.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterWriterInterface.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterWriterInterface.java index ab572896..cfaa3373 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterWriterInterface.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/TextWriterWriterInterface.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/NamingScheme.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/NamingScheme.java index c5d9cf72..4b2c099f 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/NamingScheme.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/NamingScheme.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.naming; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/SimpleEnumeratingScheme.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/SimpleEnumeratingScheme.java index 2341f258..baff04e2 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/SimpleEnumeratingScheme.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/SimpleEnumeratingScheme.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.naming; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/package-info.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/package-info.java index 8d10da45..600e731e 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/naming/package-info.java @@ -5,7 +5,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2011 +Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/package-info.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/package-info.java index b2abeb5b..872df780 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/package-info.java @@ -6,7 +6,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2011 +Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterDoubleDoublePair.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterDoubleDoublePair.java index b8f25b6a..4af9d8a4 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterDoubleDoublePair.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterDoubleDoublePair.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectArray.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectArray.java index bec183d8..3a73d52a 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectArray.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectArray.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectComment.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectComment.java index ddb753ac..d4da18f5 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectComment.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectComment.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectInline.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectInline.java index 12717da7..a621ab4b 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectInline.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterObjectInline.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterPair.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterPair.java index c8bd83b2..3c1440bc 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterPair.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterPair.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTextWriteable.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTextWriteable.java index 491f803d..87a3661b 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTextWriteable.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTextWriteable.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTriple.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTriple.java index ce3c3d70..55dd7106 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTriple.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterTriple.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterVector.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterVector.java index 0ebf4ae4..1452c432 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterVector.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/TextWriterVector.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.result.textwriter.writers; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2011 + Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/package-info.java b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/package-info.java index 66c5f706..c83dd767 100644 --- a/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/result/textwriter/writers/package-info.java @@ -6,7 +6,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2011 +Copyright (C) 2012 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team |