diff options
author | Erich Schubert <erich@debian.org> | 2014-10-31 03:43:51 +0100 |
---|---|---|
committer | Andrej Shadura <andrewsh@debian.org> | 2019-03-09 22:30:40 +0000 |
commit | 596d8876dca5627dd76e8c23bf40a24cc305eeed (patch) | |
tree | d269ddb46561469f6b1fff67b19e0cd2b4608f5b /src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization | |
parent | ee31d687b1a0e2f2f1e6e71375c7cc3b094919b8 (diff) | |
parent | 337087b668d3a54f3afee3a9adb597a32e9f7e94 (diff) |
Import Debian changes 0.6.5~20141030-1
elki (0.6.5~20141030-1) unstable; urgency=medium
* New upstream beta release
* Urgency medium: 0.6.0 suffers from a performance issue with duplicates.
* Repackaged tarball from .jar to .tar.bz2
* Add dependency on libsvm3-java
* Enable line numbers for debugging (ant debuglevel)
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization')
11 files changed, 111 insertions, 44 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java index 75a5be86..6b804777 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/AbstractParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java index 97cdb51f..9d8c171b 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ChainedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java index 02802593..b43fed45 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/EmptyParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java index b870b57b..3cb309f5 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/ListParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java index 9f765963..8e6e10c8 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/MergedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java index 01c46583..32ab5bdb 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/Parameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java index b3e3f214..7eb3cf45 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/SerializedParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java index 5a20bd9e..a9ccda98 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackParameters.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -32,11 +32,9 @@ import java.util.Map; import de.lmu.ifi.dbs.elki.logging.LoggingUtil; import de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil; import de.lmu.ifi.dbs.elki.utilities.optionhandling.InternalParameterizationErrors; -import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID; import de.lmu.ifi.dbs.elki.utilities.optionhandling.ParameterException; import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.GlobalParameterConstraint; import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter; -import de.lmu.ifi.dbs.elki.utilities.pairs.Pair; /** * Utility wrapper to track parameters for a configuration session. @@ -54,7 +52,7 @@ public class TrackParameters implements Parameterization { /** * Tracking storage */ - List<Pair<Object, Parameter<?>>> options = new ArrayList<>(); + List<TrackedParameter> options = new ArrayList<>(); /** * Tree information: parent links @@ -70,7 +68,7 @@ public class TrackParameters implements Parameterization { /** * Current parent for nested parameterization */ - Object cur = null; + Object owner = null; /** * Constructor. @@ -83,18 +81,30 @@ public class TrackParameters implements Parameterization { } /** + * Constructor. + * + * @param inner Inner parameterization to wrap. + * @param owner Class/instance owning the parameter + */ + public TrackParameters(Parameterization inner, Object owner) { + super(); + this.inner = inner; + this.owner = owner; + } + + /** * Internal constructor, for nested tracking. * * @param inner Inner parameterization - * @param option Option + * @param owner Object owning the current parameters * @param options List of options * @param parents Parent map * @param children Child map */ - private TrackParameters(Parameterization inner, Object option, List<Pair<Object, Parameter<?>>> options, Map<Object, Object> parents, Map<Object, List<Object>> children) { + private TrackParameters(Parameterization inner, Object owner, List<TrackedParameter> options, Map<Object, Object> parents, Map<Object, List<Object>> children) { super(); - this.inner = inner.descend(option); - this.cur = option; + this.inner = inner.descend(owner); + this.owner = owner; this.options = options; this.parents = parents; this.children = children; @@ -113,7 +123,7 @@ public class TrackParameters implements Parameterization { @Override public boolean grab(Parameter<?> opt) { registerChild(opt); - options.add(new Pair<Object, Parameter<?>>(cur, opt)); + options.add(new TrackedParameter(owner, opt)); return inner.grab(opt); } @@ -130,7 +140,7 @@ public class TrackParameters implements Parameterization { @Override public boolean setValueForOption(Parameter<?> opt) throws ParameterException { registerChild(opt); - options.add(new Pair<Object, Parameter<?>>(cur, opt)); + options.add(new TrackedParameter(owner, opt)); return inner.setValueForOption(opt); } @@ -139,33 +149,19 @@ public class TrackParameters implements Parameterization { * * @return Parameters seen */ - public Collection<Pair<Object, Parameter<?>>> getAllParameters() { + public Collection<TrackedParameter> getAllParameters() { return options; } - /** - * Get the tracked parameters that were actually set. - * - * @return Parameters given - */ - public Collection<Pair<OptionID, Object>> getGivenParameters() { - ArrayList<Pair<OptionID, Object>> ret = new ArrayList<>(); - for(Pair<Object, Parameter<?>> pair : options) { - if(pair.second.isDefined() && pair.second.getGivenValue() != null) { - ret.add(new Pair<>(pair.second.getOptionID(), pair.second.getGivenValue())); - } - } - return ret; - } - @Override public boolean checkConstraint(GlobalParameterConstraint constraint) { return inner.checkConstraint(constraint); } /** - * {@inheritDoc} Track parameters using a shared options list with parent - * tracker. + * {@inheritDoc} + * + * Track parameters using a shared options list with parent tracker. */ @Override public Parameterization descend(Object option) { @@ -174,14 +170,14 @@ public class TrackParameters implements Parameterization { } private void registerChild(Object opt) { - if(opt == cur) { + if(opt == owner) { LoggingUtil.exception("Options shouldn't have themselves as parents!", new Throwable()); } - parents.put(opt, cur); - List<Object> c = children.get(cur); + parents.put(opt, owner); + List<Object> c = children.get(owner); if(c == null) { c = new ArrayList<>(); - children.put(cur, c); + children.put(owner, c); } if(!c.contains(opt)) { c.add(opt); @@ -204,7 +200,7 @@ public class TrackParameters implements Parameterization { return ClassGenericsUtil.tryInstantiate(r, c, this); } catch(Exception e) { - reportError(new InternalParameterizationErrors("Error instantiating internal class: "+c.getName(), e)); + reportError(new InternalParameterizationErrors("Error instantiating internal class: " + c.getName(), e)); return null; } } @@ -215,7 +211,7 @@ public class TrackParameters implements Parameterization { return ClassGenericsUtil.tryInstantiate(c, c, this); } catch(Exception e) { - reportError(new InternalParameterizationErrors("Error instantiating internal class: "+c.getName(), e)); + reportError(new InternalParameterizationErrors("Error instantiating internal class: " + c.getName(), e)); return null; } } diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackedParameter.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackedParameter.java new file mode 100644 index 00000000..01969302 --- /dev/null +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/TrackedParameter.java @@ -0,0 +1,71 @@ +package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; + +/* + This file is part of ELKI: + Environment for Developing KDD-Applications Supported by Index-Structures + + Copyright (C) 2014 + Ludwig-Maximilians-Universität München + Lehr- und Forschungseinheit für Datenbanksysteme + ELKI Development Team + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Parameter; + +/** + * Class containing an object, and the associated value. + * + * @author Erich Schubert + */ +public class TrackedParameter { + /** + * Option ID + */ + private Object owner; + + /** + * Parameter value + */ + private Parameter<?> parameter; + + /** + * Constructor. + * + * @param owner Object owning the parameter value + * @param parameter Parameter + */ + public TrackedParameter(Object owner, Parameter<?> parameter) { + this.owner = owner; + this.parameter = parameter; + } + + /** + * Get the owner object. + * + * @return Parameter owner + */ + public Object getOwner() { + return owner; + } + + /** + * Get the parameter observed. + * + * @return Parameter + */ + public Parameter<?> getParameter() { + return parameter; + } +}
\ No newline at end of file diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java index 2a05a766..dfdbe7ac 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/UnParameterization.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2013 + Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team diff --git a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java index ce9c89b4..d330d343 100644 --- a/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/utilities/optionhandling/parameterization/package-info.java @@ -8,7 +8,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2013 +Copyright (C) 2014 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team |