From 662ad2fdd850c1cde47b13c47dcbb2cf209d009f Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Tue, 4 Jun 2013 14:46:58 +0000 Subject: [PATCH] minor refactorings git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11928 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../WeightingFunctionEvaluator.java | 3 ++- .../weightingfunction/IWeightingFunction.java | 22 +++++++++++++++++-- .../RandomWeightsWeightingFunction.java | 6 +++++ .../weightingfunction/WeightedSum.java | 5 +++-- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/WeightingFunctionEvaluator.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/WeightingFunctionEvaluator.java index ba9ffcc4..91ec0e64 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/WeightingFunctionEvaluator.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/WeightingFunctionEvaluator.java @@ -26,7 +26,7 @@ public class WeightingFunctionEvaluator implements IEvaluator { public void evaluate(WeightedTactic tactic) { WeightingFunction f = tactic.getParentStrategy().getWeightingFunction(); - final String functionClassName = f.getWeightingFunction(); + final String functionClassName = f.getWeightingFunctionImplementation(); Object o = null; try { @@ -44,6 +44,7 @@ public class WeightingFunctionEvaluator implements IEvaluator { } calculator = (IWeightingFunction) o; + calculator.setWeightingFunction(f); double newWeight = calculator.calculateWeight(tactic); logger.debug("Setting new weight of " + tactic.getName() + " to " + newWeight); tactic.setCurrentWeight(newWeight); diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/IWeightingFunction.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/IWeightingFunction.java index 68571370..284d82a1 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/IWeightingFunction.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/IWeightingFunction.java @@ -1,15 +1,33 @@ package edu.kit.ipd.descartes.adaptation.evaluation.weightingfunction; import edu.kit.ipd.descartes.mm.adaptation.Tactic; +import edu.kit.ipd.descartes.mm.adaptation.WeightedMetric; import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic; +import edu.kit.ipd.descartes.mm.adaptation.WeightingFunction; +/** + * @author nhuber + * + */ public interface IWeightingFunction { - /** + + /** + * Sets the {@link WeightingFunction} that can be used + * by the {@link WeightingFunction} to derive the + * {@link WeightedMetric}s used to calculate the weight. + * + * @param function + */ + void setWeightingFunction(WeightingFunction function); + + /** * Calculates the new weight of the given {@link Tactic}. * * @param impact * @return */ - double calculateWeight(WeightedTactic weightedTactic); + double calculateWeight(WeightedTactic weightedTactic); + + } diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/RandomWeightsWeightingFunction.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/RandomWeightsWeightingFunction.java index 245197be..ae2ade11 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/RandomWeightsWeightingFunction.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/RandomWeightsWeightingFunction.java @@ -3,6 +3,7 @@ package edu.kit.ipd.descartes.adaptation.evaluation.weightingfunction; import java.util.Random; import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic; +import edu.kit.ipd.descartes.mm.adaptation.WeightingFunction; public class RandomWeightsWeightingFunction implements IWeightingFunction { @@ -11,4 +12,9 @@ public class RandomWeightsWeightingFunction implements IWeightingFunction { Random r = new Random(System.currentTimeMillis()); return r.nextDouble(); } + + @Override + public void setWeightingFunction(WeightingFunction function) { + // Left empty intentionally + } } diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/WeightedSum.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/WeightedSum.java index 5394adb8..cd172d7c 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/WeightedSum.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/evaluation/weightingfunction/WeightedSum.java @@ -14,14 +14,14 @@ public class WeightedSum implements IWeightingFunction { private Logger logger = Logger.getLogger(WeightedSum.class); private WeightingFunction weightingFunction = null; - public WeightedSum(WeightingFunction f) { - setWeightingFunction(f); + public WeightedSum() { } public WeightingFunction getWeightingFunction() { return weightingFunction; } + @Override public void setWeightingFunction(WeightingFunction weightingFunction) { this.weightingFunction = weightingFunction; } @@ -58,4 +58,5 @@ public class WeightedSum implements IWeightingFunction { return newWeight; } + } -- GitLab