/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package at.ac.tuwien.dsg.rSybl.planningEngine.adviseEffects; import at.ac.tuwien.dsg.csdg.DataElasticityDependency; import at.ac.tuwien.dsg.csdg.DependencyGraph; import at.ac.tuwien.dsg.csdg.LoadElasticityDependency; import at.ac.tuwien.dsg.csdg.Node; import at.ac.tuwien.dsg.csdg.Relationship; import at.ac.tuwien.dsg.csdg.elasticityInformation.ElasticityRequirement; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.BinaryRestriction; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.BinaryRestrictionsConjunction; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.Constraint; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.Monitoring; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.SYBLSpecification; import at.ac.tuwien.dsg.csdg.elasticityInformation.elasticityRequirements.Strategy; import at.ac.tuwien.dsg.csdg.inputProcessing.multiLevelModel.abstractModelXML.SYBLDirectiveMappingFromXML; import at.ac.tuwien.dsg.rSybl.dataProcessingUnit.api.MonitoringAPIInterface; import at.ac.tuwien.dsg.rSybl.dataProcessingUnit.monitoringPlugins.interfaces.MonitoringInterface; import at.ac.tuwien.dsg.rSybl.planningEngine.staticData.ActionEffect; import at.ac.tuwien.dsg.rSybl.planningEngine.utils.PlanningLogger; import at.ac.tuwien.dsg.sybl.syblProcessingUnit.languageDescription.SYBLDescriptionParser; import java.lang.Double; import java.lang.String; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.LinkedHashMap; import java.util.List; /** * * @author Georgiana */ public class ContextRepresentation { private LinkedHashMap<String, LinkedHashMap<String, Double>> metricValues = new LinkedHashMap<>(); private double distance =0; public ContextRepresentation(Node cloudService, LinkedHashMap<String, LinkedHashMap<String, Double>> values) { DependencyGraph dependencyGraph = new DependencyGraph(); dependencyGraph.setCloudService(cloudService); for (String node : values.keySet()) { if (!metricValues.containsKey(node)) { metricValues.put(node, new LinkedHashMap<String, Double>()); } for (String metric : values.get(node).keySet()) { metricValues.get(node).put(metric, values.get(node).get(metric)); } } } public double getMetricValue(String node, String metric) { if (metricValues.containsKey(node) && metricValues.get(node).containsKey(metric)) { return metricValues.get(node).get(metric); } else { return -1; } } public void setMetricValue(String node, String metric,Double value){ if (!metricValues.containsKey(node)){ metricValues.put(node, new LinkedHashMap<String,Double>()); } metricValues.get(node).put(metric, value); } /** * @return the distance */ public double getDistance() { return distance; } /** * @param distance the distance to set */ public void setDistance(double distance) { this.distance = distance; } }