diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/visualization/gui')
13 files changed, 86 insertions, 79 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java index 635a0466..92171f47 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -31,6 +31,7 @@ import de.lmu.ifi.dbs.elki.result.HierarchicalResult; import de.lmu.ifi.dbs.elki.result.Result; import de.lmu.ifi.dbs.elki.result.ResultHandler; import de.lmu.ifi.dbs.elki.result.ResultUtil; +import de.lmu.ifi.dbs.elki.utilities.Alias; import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer; import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID; import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization; @@ -48,6 +49,7 @@ import de.lmu.ifi.dbs.elki.visualization.VisualizerParameterizer; * @apiviz.composedOf VisualizerParameterizer * @apiviz.uses ResultWindow oneway */ +@Alias({ "visualizer", "vis", "ResultVisualizer" }) public class ResultVisualizer implements ResultHandler { /** * Get a logger for this class. @@ -73,7 +75,7 @@ public class ResultVisualizer implements ResultHandler { * </p> */ public static final OptionID SINGLE_ID = new OptionID("vis.window.single", "Embed visualizers in a single window, not using thumbnails and detail views."); - + /** * Stores the set title. */ @@ -113,11 +115,11 @@ public class ResultVisualizer implements ResultHandler { // FIXME: not really re-entrant to generate new contexts... final VisualizerContext context = manager.newContext(top); - if(title == null) { + if (title == null) { title = VisualizerParameterizer.getTitle(ResultUtil.findDatabase(top), result); } - if(title == null) { + if (title == null) { title = DEFAULT_TITLE; } @@ -130,8 +132,7 @@ public class ResultVisualizer implements ResultHandler { window.setVisible(true); window.setExtendedState(window.getExtendedState() | JFrame.MAXIMIZED_BOTH); window.showOverview(); - } - catch(Throwable e) { + } catch (Throwable e) { LOG.exception("Error in starting visualizer window.", e); } } @@ -155,7 +156,7 @@ public class ResultVisualizer implements ResultHandler { * Visualization manager. */ VisualizerParameterizer manager; - + /** * Single view mode. */ @@ -166,7 +167,7 @@ public class ResultVisualizer implements ResultHandler { super.makeOptions(config); StringParameter titleP = new StringParameter(WINDOW_TITLE_ID); titleP.setOptional(true); - if(config.grab(titleP)) { + if (config.grab(titleP)) { title = titleP.getValue(); } Flag singleF = new Flag(SINGLE_ID); @@ -181,4 +182,4 @@ public class ResultVisualizer implements ResultHandler { return new ResultVisualizer(title, manager, single); } } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultWindow.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultWindow.java index 609932cf..0cfa5166 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultWindow.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultWindow.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -49,6 +49,7 @@ import de.lmu.ifi.dbs.elki.result.Result; import de.lmu.ifi.dbs.elki.result.ResultAdapter; import de.lmu.ifi.dbs.elki.result.ResultHierarchy; import de.lmu.ifi.dbs.elki.result.ResultListener; +import de.lmu.ifi.dbs.elki.utilities.datastructures.hierarchy.Hierarchy; import de.lmu.ifi.dbs.elki.visualization.VisualizationTask; import de.lmu.ifi.dbs.elki.visualization.VisualizerContext; import de.lmu.ifi.dbs.elki.visualization.batikutil.JSVGSynchronizedCanvas; @@ -378,8 +379,8 @@ public class ResultWindow extends JFrame implements ResultListener { private void updateVisualizerMenus() { visualizersMenu.removeAll(); ResultHierarchy hier = context.getHierarchy(); - for(Result child : hier.getChildren(result)) { - recursiveBuildMenu(visualizersMenu, child); + for(Hierarchy.Iter<Result> iter = hier.iterChildren(result); iter.valid(); iter.advance()) { + recursiveBuildMenu(visualizersMenu, iter.get()); } } @@ -388,7 +389,7 @@ public class ResultWindow extends JFrame implements ResultListener { // Skip "adapter" results that do not have visualizers if(r instanceof ResultAdapter) { - if(hier.getChildren(r).size() <= 0) { + if(hier.numChildren(r) <= 0) { return false; } } @@ -396,8 +397,8 @@ public class ResultWindow extends JFrame implements ResultListener { boolean nochildren = true; JMenu submenu = new JMenu((r.getLongName() != null) ? r.getLongName() : "unnamed"); // Add menus for any children - for(Result child : hier.getChildren(r)) { - if(recursiveBuildMenu(submenu, child)) { + for(Hierarchy.Iter<Result> iter = hier.iterChildren(r); iter.valid(); iter.advance()) { + if(recursiveBuildMenu(submenu, iter.get())) { nochildren = false; } } diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/SelectionTableWindow.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/SelectionTableWindow.java index 4fea630a..6e1b4a66 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/SelectionTableWindow.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/SelectionTableWindow.java @@ -3,7 +3,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/SimpleSVGViewer.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/SimpleSVGViewer.java index 7c419da7..8172de4e 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/SimpleSVGViewer.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/SimpleSVGViewer.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/DetailView.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/DetailView.java index 091bc8ca..9bcd64b9 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/DetailView.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/DetailView.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.detail; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -76,7 +76,7 @@ public class DetailView extends SVGPlot implements ResultListener { /** * Map from visualizers to layers */ - Map<VisualizationTask, Visualization> layermap = new HashMap<VisualizationTask, Visualization>(); + Map<VisualizationTask, Visualization> layermap = new HashMap<>(); /** * The created width @@ -141,11 +141,11 @@ public class DetailView extends SVGPlot implements ResultListener { width = Math.sqrt(getRatio()); height = 1.0 / width; - ArrayList<Visualization> layers = new ArrayList<Visualization>(); + ArrayList<Visualization> layers = new ArrayList<>(); // TODO: center/arrange visualizations? - for(Iterator<VisualizationTask> tit = visi.tasks.iterator(); tit.hasNext();) { + for (Iterator<VisualizationTask> tit = visi.tasks.iterator(); tit.hasNext();) { VisualizationTask task = tit.next(); - if(task.visible) { + if (task.visible) { try { Visualization v = task.getFactory().makeVisualization(task.clone(this, context, visi.proj, width, height)); if (task.noexport) { @@ -153,23 +153,20 @@ public class DetailView extends SVGPlot implements ResultListener { } layers.add(v); layermap.put(task, v); - } - catch(Exception e) { - if(Logging.getLogger(task.getFactory().getClass()).isDebugging()) { + } catch (Exception e) { + if (Logging.getLogger(task.getFactory().getClass()).isDebugging()) { LoggingUtil.exception("Visualization failed.", e); - } - else { + } else { LoggingUtil.warning("Visualizer " + task.getFactory().getClass().getName() + " failed - enable debugging to see details: " + e.toString()); } } } } // Arrange - for(Visualization layer : layers) { - if(layer.getLayer() != null) { + for (Visualization layer : layers) { + if (layer.getLayer() != null) { getRoot().appendChild(layer.getLayer()); - } - else { + } else { LoggingUtil.warning("NULL layer seen."); } } @@ -191,7 +188,7 @@ public class DetailView extends SVGPlot implements ResultListener { } private void destroyVisualizations() { - for(Entry<VisualizationTask, Visualization> v : layermap.entrySet()) { + for (Entry<VisualizationTask, Visualization> v : layermap.entrySet()) { v.getValue().destroy(); } layermap.clear(); @@ -268,30 +265,28 @@ public class DetailView extends SVGPlot implements ResultListener { @Override public void resultChanged(Result current) { // Make sure we are affected: - if(!(current instanceof VisualizationTask)) { + if (!(current instanceof VisualizationTask)) { return; } // Get the layer final VisualizationTask task = (VisualizationTask) current; Visualization vis = layermap.get(task); - if(vis != null) { + if (vis != null) { // Ensure visibility is as expected boolean isHidden = SVGConstants.CSS_HIDDEN_VALUE.equals(vis.getLayer().getAttribute(SVGConstants.CSS_VISIBILITY_PROPERTY)); - if(task.visible) { - if(isHidden) { + if (task.visible) { + if (isHidden) { this.scheduleUpdate(new AttributeModifier(vis.getLayer(), SVGConstants.CSS_VISIBILITY_PROPERTY, SVGConstants.CSS_VISIBLE_VALUE)); } - } - else { - if(!isHidden) { + } else { + if (!isHidden) { this.scheduleUpdate(new AttributeModifier(vis.getLayer(), SVGConstants.CSS_VISIBILITY_PROPERTY, SVGConstants.CSS_HIDDEN_VALUE)); } } - } - else { + } else { // Only materialize when becoming visible - if(task.visible) { - // LoggingUtil.warning("Need to recreate a missing layer for " + v); + if (task.visible) { + // LoggingUtil.warning("Need to recreate a missing layer for " + task); vis = task.getFactory().makeVisualization(task.clone(this, context, visi.proj, width, height)); if (task.noexport) { vis.getLayer().setAttribute(NO_EXPORT_ATTRIBUTE, NO_EXPORT_ATTRIBUTE); @@ -307,4 +302,4 @@ public class DetailView extends SVGPlot implements ResultListener { public void resultRemoved(Result child, Result parent) { // Ignore. The PlotItem will need to change. } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/package-info.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/package-info.java index 95339ac1..91becdd2 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/detail/package-info.java @@ -6,7 +6,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/DetailViewSelectedEvent.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/DetailViewSelectedEvent.java index 4c950225..6723c77f 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/DetailViewSelectedEvent.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/DetailViewSelectedEvent.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.overview; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/LayerMap.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/LayerMap.java index 36851b85..5fb7019e 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/LayerMap.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/LayerMap.java @@ -3,7 +3,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.overview; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -41,7 +41,7 @@ public class LayerMap { /** * The actual map */ - private HashMap<Pair<PlotItem, VisualizationTask>, Pair<Element, Visualization>> map = new HashMap<Pair<PlotItem, VisualizationTask>, Pair<Element, Visualization>>(); + private HashMap<Pair<PlotItem, VisualizationTask>, Pair<Element, Visualization>> map = new HashMap<>(); /** * Helper function for building a key object @@ -51,7 +51,7 @@ public class LayerMap { * @return Key */ private Pair<PlotItem, VisualizationTask> key(PlotItem item, VisualizationTask task) { - return new Pair<PlotItem, VisualizationTask>(item, task); + return new Pair<>(item, task); } /** @@ -62,7 +62,7 @@ public class LayerMap { * @return Value object */ private Pair<Element, Visualization> value(Element elem, Visualization vis) { - return new Pair<Element, Visualization>(elem, vis); + return new Pair<>(elem, vis); } /** diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/OverviewPlot.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/OverviewPlot.java index 271a62ff..c4825b1e 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/OverviewPlot.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/OverviewPlot.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.overview; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -43,6 +43,7 @@ import de.lmu.ifi.dbs.elki.result.Result; import de.lmu.ifi.dbs.elki.result.ResultHierarchy; import de.lmu.ifi.dbs.elki.result.ResultListener; import de.lmu.ifi.dbs.elki.result.ResultUtil; +import de.lmu.ifi.dbs.elki.utilities.datastructures.hierarchy.Hierarchy; import de.lmu.ifi.dbs.elki.utilities.pairs.Pair; import de.lmu.ifi.dbs.elki.visualization.VisualizationTask; import de.lmu.ifi.dbs.elki.visualization.VisualizerContext; @@ -90,7 +91,7 @@ public class OverviewPlot extends SVGPlot implements ResultListener { /** * Action listeners for this plot. */ - private ArrayList<ActionListener> actionListeners = new ArrayList<ActionListener>(); + private ArrayList<ActionListener> actionListeners = new ArrayList<>(); /** * Single view mode @@ -191,7 +192,7 @@ public class OverviewPlot extends SVGPlot implements ResultListener { * @return Arrangement */ private RectangleArranger<PlotItem> arrangeVisualizations(double width, double height) { - RectangleArranger<PlotItem> plotmap = new RectangleArranger<PlotItem>(width, height); + RectangleArranger<PlotItem> plotmap = new RectangleArranger<>(width, height); ArrayList<Projector> projectors = ResultUtil.filterResults(context.getResult(), Projector.class); // Rectangle layout @@ -209,8 +210,11 @@ public class OverviewPlot extends SVGPlot implements ResultListener { ResultHierarchy hier = context.getHierarchy(); ArrayList<VisualizationTask> tasks = ResultUtil.filterResults(context.getResult(), VisualizationTask.class); nextTask: for (VisualizationTask task : tasks) { - for (Result parent : hier.getParents(task)) { - if (parent instanceof Projector) { + if (!task.visible) { + continue; + } + for (Hierarchy.Iter<Result> iter = hier.iterParents(task); iter.valid(); iter.advance()) { + if (iter.get() instanceof Projector) { continue nextTask; } } @@ -276,7 +280,7 @@ public class OverviewPlot extends SVGPlot implements ResultListener { hasDetails |= !task.nodetail; Pair<Element, Visualization> pair = oldlayers.remove(it, task); if (pair == null) { - pair = new Pair<Element, Visualization>(null, null); + pair = new Pair<>(null, null); pair.first = svgElement(SVGConstants.SVG_G_TAG); } if (pair.second == null) { @@ -368,7 +372,7 @@ public class OverviewPlot extends SVGPlot implements ResultListener { // New task? if (pair == null) { if (visibleInOverview(task)) { - pair = new Pair<Element, Visualization>(null, null); + pair = new Pair<>(null, null); pair.first = svgElement(SVGConstants.SVG_G_TAG); pair.second = embedOrThumbnail(thumbsize, it, task, pair.first); vistoelem.get(it, null).first.appendChild(pair.first); @@ -381,13 +385,6 @@ public class OverviewPlot extends SVGPlot implements ResultListener { if (pair.first.hasAttribute(SVGConstants.CSS_VISIBILITY_PROPERTY)) { pair.first.removeAttribute(SVGConstants.CSS_VISIBILITY_PROPERTY); } - // if not yet rendered, add a thumbnail - if (!pair.first.hasChildNodes()) { - LOG.warning("This codepath should no longer be needed."); - Visualization visualization = embedOrThumbnail(thumbsize, it, task, pair.first); - vistoelem.put(it, task, pair.first, visualization); - refreshcss = true; - } } else { // hide if there is anything to hide. if (pair.first != null && pair.first.hasChildNodes()) { @@ -562,6 +559,18 @@ public class OverviewPlot extends SVGPlot implements ResultListener { @Override public void resultChanged(Result current) { LOG.debug("result changed: " + current); + if (current instanceof VisualizationTask) { + boolean relayout = true; + for (Hierarchy.Iter<Result> iter = context.getHierarchy().iterParents(current); iter.valid(); iter.advance()) { + if (iter.get() instanceof Projector) { + relayout = false; + break; + } + } + if (relayout) { + reinitOnRefresh = true; + } + } lazyRefresh(); } diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/PlotItem.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/PlotItem.java index 73ee797e..7919e07e 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/PlotItem.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/PlotItem.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.overview; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -72,12 +72,12 @@ public class PlotItem { /** * The visualization tasks at this location */ - public List<VisualizationTask> tasks = new LinkedList<VisualizationTask>(); + public List<VisualizationTask> tasks = new LinkedList<>(); /** * Subitems to plot */ - public Collection<PlotItem> subitems = new LinkedList<PlotItem>(); + public Collection<PlotItem> subitems = new LinkedList<>(); /** * Constructor. diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/RectangleArranger.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/RectangleArranger.java index b5e6031e..441f7ae2 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/RectangleArranger.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/RectangleArranger.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui.overview; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -34,6 +34,7 @@ import java.util.Set; import java.util.logging.Level; import de.lmu.ifi.dbs.elki.logging.Logging; +import de.lmu.ifi.dbs.elki.logging.LoggingConfiguration; /** * This is a rather naive rectangle arrangement class. It will try to place @@ -79,12 +80,12 @@ public class RectangleArranger<T> { /** * Map indicating which cells are used. */ - private ArrayList<ArrayList<Object>> usage = new ArrayList<ArrayList<Object>>(); + private ArrayList<ArrayList<Object>> usage = new ArrayList<>(); /** * Data */ - private Map<T, double[]> map = new HashMap<T, double[]>(); + private Map<T, double[]> map = new HashMap<>(); /** * Constructor. @@ -108,7 +109,7 @@ public class RectangleArranger<T> { this.widths.add(width); this.heights.add(height); // setup usage matrix - ArrayList<Object> u = new ArrayList<Object>(); + ArrayList<Object> u = new ArrayList<>(); u.add(null); this.usage.add(u); assertConsistent(); @@ -320,7 +321,7 @@ public class RectangleArranger<T> { heights.insert(bestey + 1, besthi); heights.set(bestey, heights.get(bestey) - besthi); // Update used map - usage.add(bestey + 1, new ArrayList<Object>(usage.get(bestey))); + usage.add(bestey + 1, new ArrayList<>(usage.get(bestey))); } protected void splitCol(int bestex, double bestwi) { @@ -361,7 +362,7 @@ public class RectangleArranger<T> { } // Add row: { - ArrayList<Object> row = new ArrayList<Object>(); + ArrayList<Object> row = new ArrayList<>(); for(int x = 0; x <= cols; x++) { row.add(null); } @@ -521,8 +522,8 @@ public class RectangleArranger<T> { * @param args */ public static void main(String[] args) { - LOG.getWrappedLogger().setLevel(Level.FINEST); - RectangleArranger<String> r = new RectangleArranger<String>(1.3); + LoggingConfiguration.setLevelFor(RectangleArranger.class.getName(), Level.FINEST.getName()); + RectangleArranger<String> r = new RectangleArranger<>(1.3); r.put(4., 1., "Histogram"); r.put(4., 4., "3D view"); r.put(1., 1., "Meta 1"); @@ -531,14 +532,14 @@ public class RectangleArranger<T> { r.put(2., 2., "Meta 4"); r.put(2., 2., "Meta 5"); - r = new RectangleArranger<String>(3., 3.); + r = new RectangleArranger<>(3., 3.); r.put(1., 2., "A"); r.put(2., 1., "B"); r.put(1., 2., "C"); r.put(2., 1., "D"); r.put(2., 2., "E"); - r = new RectangleArranger<String>(4 - 2.6521739130434785); + r = new RectangleArranger<>(4 - 2.6521739130434785); r.put(4., .5, "A"); r.put(4., 3., "B"); r.put(4., 1., "C"); diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/package-info.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/package-info.java index 013f86ca..302654be 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/overview/package-info.java @@ -7,7 +7,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/package-info.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/package-info.java index 0d026a1d..746235b5 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/gui/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/package-info.java @@ -6,7 +6,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team |