From 8cb553c0ff4f42c20d4c9e08983250144ec9c6ad Mon Sep 17 00:00:00 2001 From: stier <stier@fzi.de> Date: Mon, 14 Nov 2016 17:37:57 +0100 Subject: [PATCH] Fixed issue with model builder, dependency creation. --- tools.descartes.pmx.builder/META-INF/MANIFEST.MF | 3 ++- .../src/tools/descartes/pmx/builder/ModelBuilder.java | 2 +- tools.descartes.pmx.console/META-INF/MANIFEST.MF | 3 ++- .../tools/descartes/pmx/console/PMXCommandLine.java | 2 ++ tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF | 3 ++- .../tools/descartes/pmx/pcm/builder/PCMBuilder.java | 10 ++++------ .../descartes/pmx/pcm/builder/PCMSEFFFactory.java | 2 +- tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF | 3 ++- .../descartes/pmx/frontend/pcm/PMXCommandLinePCM.java | 4 ++-- 9 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tools.descartes.pmx.builder/META-INF/MANIFEST.MF b/tools.descartes.pmx.builder/META-INF/MANIFEST.MF index 54c73343..eb2475e8 100644 --- a/tools.descartes.pmx.builder/META-INF/MANIFEST.MF +++ b/tools.descartes.pmx.builder/META-INF/MANIFEST.MF @@ -10,4 +10,5 @@ Require-Bundle: org.eclipse.emf.ecore, Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: tools.descartes.pmx.builder, tools.descartes.pmx.filter.controlflow, - tools.descartes.pmx.filter.util + tools.descartes.pmx.filter.util, + tools.descartes.pmx.util.cmbg diff --git a/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java b/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java index a68de6ff..26e42499 100644 --- a/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java +++ b/tools.descartes.pmx.builder/src/tools/descartes/pmx/builder/ModelBuilder.java @@ -132,7 +132,7 @@ public abstract class ModelBuilder implements IModelBuilder{ + " -> " + "Assembly_" + providingAssemblyName + " <" + providingAssemblyName + ">"; if(!connectorMap.containsKey(key)){ - EObject connector = connectAssemblies(requiringAssemblyName, providingAssemblyName); + EObject connector = connectAssemblies(providingAssemblyName, requiringAssemblyName); connectorMap.put(key, connector); } } diff --git a/tools.descartes.pmx.console/META-INF/MANIFEST.MF b/tools.descartes.pmx.console/META-INF/MANIFEST.MF index b7d48cae..a7e44298 100644 --- a/tools.descartes.pmx.console/META-INF/MANIFEST.MF +++ b/tools.descartes.pmx.console/META-INF/MANIFEST.MF @@ -10,6 +10,7 @@ Require-Bundle: kieker, org.apache.commons.cli, org.apache.log4j, tools.descartes.pmx, - tools.descartes.pmx.builder + tools.descartes.pmx.builder, + tools.descartes.pmx.pcm.builder Import-Package: tools.descartes.pmx Export-Package: tools.descartes.pmx.console diff --git a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java index 600a42ac..75747f78 100644 --- a/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java +++ b/tools.descartes.pmx.console/src/tools/descartes/pmx/console/PMXCommandLine.java @@ -55,6 +55,7 @@ import kieker.common.configuration.Configuration; import kieker.common.util.filesystem.FSUtil; import tools.descartes.pmx.PMXController; import tools.descartes.pmx.builder.IModelBuilder; +import tools.descartes.pmx.pcm.builder.PCMBuilder; public class PMXCommandLine { @@ -129,6 +130,7 @@ public class PMXCommandLine { initConsoleLogging(); PMXCommandLine cmd = PMXCommandLine.parse(args); PMXController pmx = cmd.createPMX(); + setModelBuilder(new PCMBuilder(args[3])); try{ pmx.run(); return true; diff --git a/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF b/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF index d49f7fa6..c9566db2 100644 --- a/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF +++ b/tools.descartes.pmx.pcm.builder/META-INF/MANIFEST.MF @@ -7,7 +7,8 @@ Require-Bundle: org.eclipse.emf.ecore, kieker, org.apache.log4j, org.eclipse.emf.common, - org.palladiosimulator.pcm;visibility:=reexport + org.palladiosimulator.pcm;visibility:=reexport, + tools.descartes.pmx.builder Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: tools.descartes.pmx.pcm.builder, tools.descartes.pmx.pcm.builder, diff --git a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java index d48d8827..ed736ca1 100644 --- a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java +++ b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMBuilder.java @@ -148,10 +148,9 @@ public class PCMBuilder extends ModelBuilder implements IModelBuilder { Map<String, Object> m = reg.getExtensionToFactoryMap(); m.put("repository", new XMIResourceFactoryImpl()); // file ending Resource resource; - resource = resourceSet.createResource(URI.createURI("pathmap://PCM_MODELS/PrimitiveTypes.repository")); + resource = resourceSet.getResource(URI.createURI("pathmap://PCM_MODELS/PrimitiveTypes.repository"), true); try { - InputStream inputStream = getClass().getResourceAsStream("PrimitiveTypes.repository"); - resource.load(inputStream, Collections.EMPTY_MAP); + resource.load(Collections.EMPTY_MAP); Repository dataTypeRepository = (Repository) resource.getContents().get(0); for (DataType dataType : ((Repository) dataTypeRepository).getDataTypes__Repository()) { dataTypeMap.put(((PrimitiveDataType) dataType).getType().getName(), dataType); @@ -175,10 +174,9 @@ public class PCMBuilder extends ModelBuilder implements IModelBuilder { Map<String, Object> m = reg.getExtensionToFactoryMap(); m.put("resourcetype", new XMIResourceFactoryImpl()); // file ending Resource resource; - resource = resourceSet.createResource(URI.createURI("pathmap://PCM_MODELS/Palladio.resourcetype")); + resource = resourceSet.getResource(URI.createURI("pathmap://PCM_MODELS/Palladio.resourcetype"), true); try { - InputStream inputStream = getClass().getResourceAsStream("Palladio.resourcetype"); - resource.load(inputStream, Collections.EMPTY_MAP); + resource.load(Collections.EMPTY_MAP); resourceRepository = (ResourceRepository) resource.getContents().get(0); } catch (IOException e) { log.error("IOException: Failed to read Palladio.resourcetype from file", e); diff --git a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java index 2f45c77f..477dda5d 100644 --- a/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java +++ b/tools.descartes.pmx.pcm.builder/src/tools/descartes/pmx/pcm/builder/PCMSEFFFactory.java @@ -280,7 +280,7 @@ public class PCMSEFFFactory { externalCallAction.setCalledService_ExternalService( (OperationSignature) builder.getMethod(Util.createMethodKey(externalCall.getMethodName(), ModelBuilder.applyComponentNameFix(externalCall.getClassName())))); - builder.addRequiredRole(externalCall.getClassName(), "I"+component.getEntityName()); + builder.addRequiredRole(component.getEntityName(), "I"+externalCall.getClassName()); OperationRequiredRole role = (OperationRequiredRole) builder.getRole("Required_" + "I" + externalCall.getClassName() + ModelBuilder.seperatorChar + component.getEntityName()); externalCallAction.setRole_ExternalService(role); diff --git a/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF b/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF index 0e200238..db007f90 100644 --- a/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF +++ b/tools.descartes.pmx.pcm.eclipse/META-INF/MANIFEST.MF @@ -9,6 +9,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.ui.ide, org.eclipse.core.resources, tools.descartes.pmx.console, - org.eclipse.ui.console + org.eclipse.ui.console, + tools.descartes.pmx.pcm.builder Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java b/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java index 5347e5cd..4da6a8dc 100644 --- a/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java +++ b/tools.descartes.pmx.pcm.eclipse/src/tools/descartes/pmx/frontend/pcm/PMXCommandLinePCM.java @@ -5,8 +5,8 @@ import tools.descartes.pmx.console.PMXCommandLine; public class PMXCommandLinePCM extends PMXCommandLine { public static void main(String[] args) { - setModelBuilder(new PCMBuilder()); - run(args); + //setModelBuilder(new PCMBuilder(null)); + //run(args); } } -- GitLab