From f038651cbdd90bff245c5995e2fafb9d1f9f5235 Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Mon, 16 Sep 2013 14:45:11 +0000
Subject: [PATCH] git-svn-id:
 https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13075
 9e42b895-fcda-4063-8a3b-11be15eb1bbd

---
 .../IPerformanceDataRepositoryHandler.java    | 15 ----
 .../ObservationRepositoryHandler.java         | 65 ---------------
 .../ObservationRepositoryHelper.java          | 52 ------------
 .../ObservationRepositoryModelLoader.java     | 45 -----------
 .../perfdatarepo/PerfDataRepoConverter.java   | 79 -------------------
 .../PerformanceDataRepositoryHandler.java     | 55 -------------
 ...rformanceDataRepositoryHandlerFactory.java | 18 -----
 .../PerformanceDataRepositoryModelLoader.java | 51 ------------
 8 files changed, 380 deletions(-)
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHelper.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryModelLoader.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerfDataRepoConverter.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryModelLoader.java

diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
deleted file mode 100644
index 0732aef2..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/IPerformanceDataRepositoryHandler.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-
-public interface IPerformanceDataRepositoryHandler {
-    
-    public void load(String modelFileUri);
-    
-    public Impact getLatestImpact();
-    public Impact getLatestImpact(WeightedTactic tactic);
-
-    public Result getCurrentSystemState();
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
deleted file mode 100644
index a3a8824a..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import static edu.kit.ipd.descartes.adaptation.model.perfdatarepo.PerfDataRepoConverter.convertObservableImpact;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.common.util.URI;
-
-import edu.kit.ipd.descartes.adaptation.TacticsHistory;
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.adaptation.model.repository.AdaptationProcessModelLoader;
-import edu.kit.ipd.descartes.adaptation.util.BlueYonderExperimentTracker;
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class ObservationRepositoryHandler implements IPerformanceDataRepositoryHandler {
-
-    private BlueYonderExperimentTracker tracker = BlueYonderExperimentTracker.getInstance();
-    private static Logger logger = Logger.getLogger(ObservationRepositoryHandler.class);
-    private AbstractEcoreModelLoader modelLoader = null;
-    private ObservationRepository repository = null;
-
-    public ObservationRepositoryHandler() {
-        modelLoader = ObservationRepositoryModelLoader.getInstance();
-        logger.debug("ObservationRepositoryHandler loaded.");
-    }
-
-    @Override
-    public Impact getLatestImpact() {
-        return convertObservableImpact(repository.getLatestImpact());
-    }
-
-    @Override
-    public void load(String modelFileUri) {
-        repository = (ObservationRepository) modelLoader.load(URI.createFileURI(modelFileUri));
-    }
-
-    @Override
-    public Result getCurrentSystemState() {
-        WeightedTactic latestTactic = TacticsHistory.getInstance().getLatestAppliedTactic();
-        Observation o = null;
-        
-        if (latestTactic == null) {
-            o = repository.getLatestObservation();
-        } else {
-            // TODO: Blue Yonder specific, introduce abstraction layer
-            String expName = tracker.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
-            logger.debug("Searching for result of " + expName);
-            o = ObservationRepositoryHelper.getResultEndingWith(expName, repository);
-        }
-
-        return PerfDataRepoConverter.convertResult(o);
-    }
-
-    @Override
-    public Impact getLatestImpact(WeightedTactic tactic) {
-        String expName = tracker.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
-        logger.debug("Searching for impact of " + expName);
-        Impact latestImpact = PerfDataRepoConverter.convertObservableImpact(ObservationRepositoryHelper
-                .searchImpactOfTactic(expName, repository));
-        return latestImpact;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHelper.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHelper.java
deleted file mode 100644
index f81f7def..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryHelper.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import edu.kit.ipd.descartes.ql.models.repository.ObservableImpact;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class ObservationRepositoryHelper {
-    
-    public static ObservableImpact searchImpactOfTactic(String name, ObservationRepository repository) {
-        // Get correct result
-        Observation o = getResultEndingWith(name, repository);
-
-        // Derive impact from result
-        ObservableImpact i = getImpactForObservation(o, repository);
-        return i;
-    }
-
-    public static ObservableImpact getImpactForObservation(Observation o, ObservationRepository repo) {
-        if (o == null || repo == null)
-            return null;
-        
-        List<ObservableImpact> impacts = repo.getImpacts();
-        for (ObservableImpact oi : impacts) {
-            if (EcoreUtil.equals(oi.getAfter(), o))
-                return oi;
-        }
-
-        return null;
-    }
-
-    /**
-     * Searches the observation repository for an observation that ends with the given suffix.
-     * 
-     * @param suffix
-     * @return first result that ends the given suffix, null otherwise.
-     */
-    public static Observation getResultEndingWith(String suffix, ObservationRepository repo) {
-        if (suffix == null || repo == null)
-            return null;
-        
-        List<Observation> results = repo.getObservations();
-        for (Observation o : results) {
-            if (o.getIdentifier().endsWith(suffix))
-                return o;
-        }
-        return null;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryModelLoader.java
deleted file mode 100644
index 7f711f7a..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/ObservationRepositoryModelLoader.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.ql.models.repository.RepositoryPackage;
-
-public class ObservationRepositoryModelLoader extends AbstractEcoreModelLoader {
-
-    public static final EPackage[] OBSERVATION_REPO_EPACKAGES = new EPackage[] { 
-        RepositoryPackage.eINSTANCE
-        };
-
-    private static ObservationRepositoryModelLoader instance = null;
-
-    public static ObservationRepositoryModelLoader getInstance() {
-        if (instance == null) {
-            instance = new ObservationRepositoryModelLoader();
-        }
-        return instance;
-    }
-    
-    private ObservationRepositoryModelLoader() {
-        initializeResourceSet(new ResourceSetImpl());
-    }
-    
-    @Override
-    public void initializeResourceSet(ResourceSet resourceSet) {
-        setResourceSet(resourceSet);
-        
-        /* Register the default resource factory -- only needed for stand-alone! */
-        getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap()
-                .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
-        /* Register also the packages needed for the DMM meta model */
-        for (EPackage ePackage : OBSERVATION_REPO_EPACKAGES) {
-            getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put(ePackage.getNsURI(), ePackage);
-        }
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerfDataRepoConverter.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerfDataRepoConverter.java
deleted file mode 100644
index a348d5d7..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerfDataRepoConverter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.MeasuredEntity;
-import edu.kit.ipd.descartes.perfdatarepo.MetricType;
-import edu.kit.ipd.descartes.perfdatarepo.MetricValue;
-import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoFactory;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.DecimalResult;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Entity;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Probe;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Resource;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Service;
-import edu.kit.ipd.descartes.ql.models.mapping.mapping.EntityMapping;
-import edu.kit.ipd.descartes.ql.models.repository.ObservableImpact;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-
-public class PerfDataRepoConverter {
-    
-    public static Impact convertObservableImpact(ObservableImpact o) {
-        if (o == null)
-            return null;
-        Impact impact = PerfdatarepoFactory.eINSTANCE.createImpact();
-        impact.setId(o.getIdentifier());
-        impact.setName("ObservableImpact (ID: " + o.getIdentifier() + ")");
-        impact.setBefore(convertResult(o.getBefore()));
-        impact.setAfter(convertResult(o.getAfter()));
-        return impact;
-    }
-
-    public static Result convertResult(Observation o) {
-        Result result = PerfdatarepoFactory.eINSTANCE.createResult();
-        result.setId(o.getIdentifier());
-        result.setName("Observation (ID: " + o.getIdentifier() + ")");
-        Collection<MetricValue> values = convertMapping(o.getObservation());
-        result.getMetricValues().addAll(values);
-        return result;
-    }
-
-    public static Collection<MetricValue> convertMapping(EntityMapping observation) {
-        Collection<MetricValue> values = new ArrayList<MetricValue>();
-        
-        for (Resource r : observation.getResources()) {
-            values.addAll(convertProbes(r));        
-        }
-        
-        for (Service s : observation.getServices()) {
-            values.addAll(convertProbes(s));   
-        }
-        
-        return values;
-    }
-
-    private static Collection<MetricValue> convertProbes(Entity e) {
-        Collection<MetricValue> values = new ArrayList<MetricValue>();
-        MetricType mType = PerfdatarepoFactory.eINSTANCE.createMetricType();
-        mType.setName(e.getProbes().get(0).getMetricName());
-        mType.setId(e.getProbes().get(0).getMetricName());
-        MeasuredEntity entity = PerfdatarepoFactory.eINSTANCE.createMeasuredEntity();
-        entity.setName(e.getAlias());
-        entity.setId(e.getIdentifier());
-
-        for (Probe p : e.getProbes()) {
-            DecimalResult r = (DecimalResult) p;
-            MetricValue value = PerfdatarepoFactory.eINSTANCE.createMetricValue();
-            value.setMeasuredEntity(entity);
-            value.setName(e.getAlias() + ": " + r.getMetricName());
-            value.setMetricType(mType);
-            value.setValue(r.getValue().doubleValue());
-            values.add(value);
-        }
-        
-        return values;
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
deleted file mode 100644
index 4e6d972d..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-
-public class PerformanceDataRepositoryHandler implements IPerformanceDataRepositoryHandler {
-    
-    private static Logger logger = Logger.getLogger(PerformanceDataRepositoryHandler.class); 
-    
-    private int iteration = 0;
-    
-    private PerformanceDataRepository repository = null;
-    private PerformanceDataRepositoryModelLoader modelLoader = null;
-    
-    public PerformanceDataRepositoryHandler() {
-        modelLoader = PerformanceDataRepositoryModelLoader.getInstance();
-        logger.debug("PerformanceDataRepositoryHandler instantiated.");
-    }
-    
-    public void load(String fileUri) {
-        repository = modelLoader.load(URI.createFileURI(fileUri));
-    }
-
-    @Override
-    public Impact getLatestImpact() {
-        EList<Impact> impactHistory = repository.getImpactHistory();
-        Impact mostRecentImpact =  impactHistory.get(impactHistory.size() - 1);
-                
-        for (Impact currentImpact : impactHistory) {
-            Result afterResult = currentImpact.getAfter();
-            if (afterResult.getTimestamp().compareTo(mostRecentImpact.getAfter().getTimestamp()) > 0 )
-                mostRecentImpact = currentImpact;
-        }
-        
-        return mostRecentImpact;
-    }
-
-    @Override
-    public Impact getLatestImpact(WeightedTactic tactic) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public Result getCurrentSystemState() {
-        return repository.getResultHistory().get(iteration++);
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
deleted file mode 100644
index 2bbcd7dc..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class PerformanceDataRepositoryHandlerFactory {
-
-    public static IPerformanceDataRepositoryHandler createHandler(String repositoryType) {
-
-        if (repositoryType.equals(PerformanceDataRepository.class.getName()))
-            return new PerformanceDataRepositoryHandler();
-        
-        if (repositoryType.equals(ObservationRepository.class.getName()))
-            return new ObservationRepositoryHandler();
-        
-        return null;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryModelLoader.java
deleted file mode 100644
index eff23365..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/perfdatarepo/PerformanceDataRepositoryModelLoader.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.perfdatarepo;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-
-public class PerformanceDataRepositoryModelLoader extends AbstractEcoreModelLoader {
-
-    public static final EPackage[] PERF_DATA_REPO_EPACKAGES = new EPackage[] { PerfdatarepoPackage.eINSTANCE };
-
-    private static PerformanceDataRepositoryModelLoader instance = null;
-
-    public static PerformanceDataRepositoryModelLoader getInstance() {
-        if (instance == null) {
-            instance = new PerformanceDataRepositoryModelLoader();
-        }
-        return instance;
-    }
-
-
-    private PerformanceDataRepositoryModelLoader() {
-        initializeResourceSet(new ResourceSetImpl());
-    }
-
-    @Override
-    public void initializeResourceSet(ResourceSet resourceSet) {
-        setResourceSet(resourceSet);
-        /* Register the default resource factory -- only needed for stand-alone! */
-        getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap()
-                .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
-        /* Register also the packages needed for the DMM meta model */
-        for (EPackage ePackage : PERF_DATA_REPO_EPACKAGES) {
-            getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put(ePackage.getNsURI(), ePackage);
-        }
-
-    }
-
-    @Override
-    public PerformanceDataRepository load(URI uri) {
-        return (PerformanceDataRepository) super.load(uri);
-    }
-
-}
-- 
GitLab