diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.adaptation.model.repository/META-INF/MANIFEST.MF index cc8993b9dfe5b94cc71af00b39135c006200aaab..621a7bb912d1929541bbcd976618e55be30e9952 100644 --- a/edu.kit.ipd.descartes.adaptation.model.repository/META-INF/MANIFEST.MF +++ b/edu.kit.ipd.descartes.adaptation.model.repository/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ModelRepository Bundle-SymbolicName: edu.kit.ipd.descartes.adaptation.model.repository Bundle-Version: 1.0.0.qualifier -Bundle-Activator: edu.kit.ipd.descartes.adaptation.model.repository.Activator +Bundle-Activator: edu.kit.ipd.descartes.adaptation.model.Activator Bundle-Vendor: Descartes Research Group Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: edu.kit.ipd.descartes.core, @@ -12,10 +12,6 @@ Import-Package: edu.kit.ipd.descartes.core, edu.kit.ipd.descartes.mm.adaptationpoints, edu.kit.ipd.descartes.mm.containerrepository, edu.kit.ipd.descartes.mm.resourcelandscape, - edu.kit.ipd.descartes.perfdatarepo, - edu.kit.ipd.descartes.ql.models.mapping.domain, - edu.kit.ipd.descartes.ql.models.mapping.mapping, - edu.kit.ipd.descartes.ql.models.repository, org.apache.log4j;version="1.2.15", org.eclipse.core.resources, org.eclipse.core.runtime;version="3.4.0", @@ -23,12 +19,11 @@ Import-Package: edu.kit.ipd.descartes.core, org.eclipse.emf.ecore, org.eclipse.emf.ecore.change, org.eclipse.emf.ecore.change.util, - org.eclipse.emf.ecore.resource, + org.eclipse.emf.ecore.resource, org.eclipse.emf.ecore.resource.impl, org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.xmi, org.eclipse.emf.ecore.xmi.impl, org.osgi.framework;version="1.3.0" -Export-Package: edu.kit.ipd.descartes.adaptation.model.repository, - edu.kit.ipd.descartes.adaptation.model.repository.dmm, - edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo +Export-Package: edu.kit.ipd.descartes.adaptation.model, + edu.kit.ipd.descartes.adaptation.model.dmm diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/AbstractEcoreModelLoader.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/AbstractEcoreModelLoader.java similarity index 98% rename from edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/AbstractEcoreModelLoader.java rename to edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/AbstractEcoreModelLoader.java index 2057904a6436246d640778bedc45ad74926a4120..8f18ab65213f7d209cf92a8dbc64855df9442b3a 100644 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/AbstractEcoreModelLoader.java +++ b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/AbstractEcoreModelLoader.java @@ -1,4 +1,4 @@ -package edu.kit.ipd.descartes.adaptation.model.repository; +package edu.kit.ipd.descartes.adaptation.model; import java.io.IOException; import java.util.HashMap; diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/Activator.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/Activator.java similarity index 91% rename from edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/Activator.java rename to edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/Activator.java index 1aa04c83fe6619c7da0d3ed0f9142d4edcf72dd8..5fff4be6a2c269f0ea84630ea6027df3fac584e0 100644 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/Activator.java +++ b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/Activator.java @@ -1,4 +1,4 @@ -package edu.kit.ipd.descartes.adaptation.model.repository; +package edu.kit.ipd.descartes.adaptation.model; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/dmm/DmlModelLoader.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmlModelLoader.java similarity index 96% rename from edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/dmm/DmlModelLoader.java rename to edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmlModelLoader.java index 082e92b6ff734727b374701b9b01a977dec8cf86..8c1a0764e00a4c6e671ea51dc65697132cea296d 100644 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/dmm/DmlModelLoader.java +++ b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/dmm/DmlModelLoader.java @@ -1,4 +1,4 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.dmm; +package edu.kit.ipd.descartes.adaptation.model.dmm; import java.io.IOException; import java.util.HashMap; @@ -17,7 +17,7 @@ import org.eclipse.emf.ecore.xmi.DanglingHREFException; import org.eclipse.emf.ecore.xmi.XMIResource; import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader; +import edu.kit.ipd.descartes.adaptation.model.AbstractEcoreModelLoader; import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage; import edu.kit.ipd.descartes.mm.adaptation.AdaptationProcess; import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage; diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java deleted file mode 100644 index 3c2fb18a74149ba7f69800b59ca20af0065087fd..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java +++ /dev/null @@ -1,17 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo; - -import org.eclipse.emf.ecore.EObject; - -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 Result getCurrentSystemState(); - - public EObject getRepository(); -} diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java deleted file mode 100644 index 56c6402c47dac43ab38b5e46e75422e590618dcc..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java +++ /dev/null @@ -1,62 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo; - -import static edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.PerfDataRepoConverter.convertObservableImpact; - -import org.apache.log4j.Logger; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; - -import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader; -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; -//import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessModelLoader; - -public class ObservationRepositoryHandler implements IPerformanceDataRepositoryHandler { - - 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() { - Observation o = repository.getLatestObservation(); - -// WeightedTactic latestTactic = TacticsHistory.getInstance().getLatestAppliedTactic(); -// if (latestTactic == null) { -// o = repository.getLatestObservation(); -// } else { -// // TODO: Blue Yonder specific, introduce abstraction layer -// String expName = BlueYonderExperimentTracker.getInstance.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter()); -// logger.debug("Searching for result of " + expName); -// o = ObservationRepositoryHelper.getResultEndingWith(expName, repository); -// } - - if (o == null) - return null; - else - return PerfDataRepoConverter.convertResult(o); - } - - @Override - public EObject getRepository() { - return repository; - } - -} diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java deleted file mode 100644 index 578508a298159d2e881a8485c9c23d45d922e151..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java +++ /dev/null @@ -1,52 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.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.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java deleted file mode 100644 index 56eb8cfa5405a9e3d87d7a11c40ec777e1568a2b..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java +++ /dev/null @@ -1,45 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.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.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java deleted file mode 100644 index 5aacbad2ddbd6afcb5f8359c6373e6dc459a720d..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java +++ /dev/null @@ -1,79 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.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.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java deleted file mode 100644 index 16b6e309873ff2097c6996816547cc48b703397e..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java +++ /dev/null @@ -1,54 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo; - -import org.apache.log4j.Logger; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; - -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 Result getCurrentSystemState() { - return repository.getResultHistory().get(iteration++); - } - - @Override - public EObject getRepository() { - return repository; - } - -} diff --git a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java deleted file mode 100644 index d44e6f4bad91fc4baf68f9fcf202b261b1b6ef32..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.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.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java deleted file mode 100644 index 5e2eeb6bb3388d46b8c42a529fa5e1998b541fef..0000000000000000000000000000000000000000 --- a/edu.kit.ipd.descartes.adaptation.model.repository/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java +++ /dev/null @@ -1,51 +0,0 @@ -package edu.kit.ipd.descartes.adaptation.model.repository.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); - } - -}