use of org.iobserve.model.persistence.file.FileModelHandler in project iobserve-analysis by research-iobserve.
the class SerializePcmModelStage method execute.
@Override
protected void execute(final EObject model) throws Exception {
final ResourceSet resourceSet = model.eResource().getResourceSet();
final String filePathPrefix = this.modelDirectory.getAbsolutePath() + File.separator + this.modelName;
final String filePath;
if (model instanceof Allocation) {
filePath = filePathPrefix + "." + AllocationPackage.eNAME;
new FileModelHandler<Allocation>(resourceSet, AllocationPackage.eINSTANCE).save(URI.createFileURI(filePath), (Allocation) model);
} else if (model instanceof CloudProfile) {
filePath = filePathPrefix + "." + CloudprofilePackage.eNAME;
new FileModelHandler<CloudProfile>(resourceSet, CloudprofilePackage.eINSTANCE).save(URI.createFileURI(filePath), (CloudProfile) model);
} else if (model instanceof CostRepository) {
filePath = filePathPrefix + "." + costPackage.eNAME;
new FileModelHandler<CostRepository>(resourceSet, costPackage.eINSTANCE).save(URI.createFileURI(filePath), (CostRepository) model);
} else if (model instanceof DecisionSpace) {
filePath = filePathPrefix + "." + designdecisionPackage.eNAME;
new FileModelHandler<DecisionSpace>(resourceSet, designdecisionPackage.eINSTANCE).save(URI.createFileURI(filePath), (DecisionSpace) model);
} else if (model instanceof QMLDeclarations) {
filePath = filePathPrefix + "." + QMLDeclarationsPackage.eNAME;
new FileModelHandler<QMLDeclarations>(resourceSet, QMLDeclarationsPackage.eINSTANCE).save(URI.createFileURI(filePath), (QMLDeclarations) model);
} else if (model instanceof Repository) {
filePath = filePathPrefix + "." + RepositoryPackage.eNAME;
new FileModelHandler<Repository>(resourceSet, RepositoryPackage.eINSTANCE).save(URI.createFileURI(filePath), (Repository) model);
} else if (model instanceof ResourceEnvironment) {
filePath = filePathPrefix + "." + ResourceenvironmentPackage.eNAME;
new FileModelHandler<ResourceEnvironment>(resourceSet, ResourceenvironmentPackage.eINSTANCE).save(URI.createFileURI(filePath), (ResourceEnvironment) model);
} else if (model instanceof System) {
filePath = filePathPrefix + "." + SystemPackage.eNAME;
new FileModelHandler<System>(resourceSet, SystemPackage.eINSTANCE).save(URI.createFileURI(filePath), (System) model);
} else if (model instanceof UsageModel) {
filePath = filePathPrefix + UsagemodelPackage.eNAME;
new FileModelHandler<UsageModel>(resourceSet, UsagemodelPackage.eINSTANCE).save(URI.createFileURI(filePath), (UsageModel) model);
} else {
throw new IllegalArgumentException("The EObject passed to this stage must be a PCM model!");
}
this.getOutputPort().send(new File(filePath));
}
use of org.iobserve.model.persistence.file.FileModelHandler in project iobserve-analysis by research-iobserve.
the class DeserializePcmModelStage method execute.
@Override
protected void execute(final File modelFile) throws Exception {
final String modelFileName = modelFile.getName();
final String modelFileExtension = modelFileName.substring(modelFileName.lastIndexOf('.') + 1);
final EObject model;
if (AllocationPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<Allocation>(this.resourceSet, AllocationPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (CloudprofilePackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<CloudProfile>(this.resourceSet, CloudprofilePackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (costPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<CostRepository>(this.resourceSet, costPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (designdecisionPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<DecisionSpace>(this.resourceSet, designdecisionPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (QMLDeclarationsPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<QMLDeclarations>(this.resourceSet, QMLDeclarationsPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (RepositoryPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<Repository>(this.resourceSet, RepositoryPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (ResourceenvironmentPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<ResourceEnvironment>(this.resourceSet, ResourceenvironmentPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (SystemPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<System>(this.resourceSet, SystemPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else if (UsagemodelPackage.eNAME.equals(modelFileExtension)) {
model = new FileModelHandler<UsageModel>(this.resourceSet, UsagemodelPackage.eINSTANCE).load(URI.createFileURI(modelFile.getAbsolutePath()));
} else {
throw new IllegalArgumentException("File extension does not look like a PCM model!");
}
this.getOutputPort().send(model);
}
Aggregations