Fixed model split example
- added creation of event model file
- model files are only written if related submodel is available
diff --git a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
index 5444115..0c358db 100644
--- a/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
+++ b/examples/app4mc.example.tool.java/src/app4mc/example/tool/java/SplitModelExample.java
@@ -1,6 +1,6 @@
/**
********************************************************************************
- * Copyright (c) 2018-2020 Robert Bosch GmbH.
+ * Copyright (c) 2018-2022 Robert Bosch GmbH.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
@@ -71,6 +71,7 @@
Amalthea mSoftware = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-sw.amxmi");
Amalthea mOS = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-os.amxmi");
Amalthea mStimuli = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-stimuli.amxmi");
+ Amalthea mEvents = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-events.amxmi");
Amalthea mConstraints = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-constraints.amxmi");
Amalthea mMapping = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-mapping.amxmi");
Amalthea mComponents = createNewModelWithResource(resourceSet, "model-output/SplitModel/democar-components.amxmi");
@@ -78,49 +79,73 @@
if (mCommon != null) {
mCommon.setCommonElements(inputModel.getCommonElements());
inputModel.setCommonElements(null);
- writeResource(mCommon.eResource());
+ if (mCommon.getCommonElements() != null) {
+ writeResource(mCommon.eResource());
+ }
}
if (mHardware != null) {
mHardware.setHwModel(inputModel.getHwModel());
inputModel.setHwModel(null);
- writeResource(mHardware.eResource());
+ if (mHardware.getHwModel() != null) {
+ writeResource(mHardware.eResource());
+ }
}
if (mSoftware != null) {
mSoftware.setSwModel(inputModel.getSwModel());
inputModel.setSwModel(null);
- writeResource(mSoftware.eResource());
+ if (mSoftware.getSwModel() != null) {
+ writeResource(mSoftware.eResource());
+ }
}
if (mOS != null) {
mOS.setOsModel(inputModel.getOsModel());
inputModel.setOsModel(null);
- writeResource(mOS.eResource());
+ if (mOS.getOsModel() != null) {
+ writeResource(mOS.eResource());
+ }
}
if (mStimuli != null) {
mStimuli.setStimuliModel(inputModel.getStimuliModel());
inputModel.setStimuliModel(null);
- writeResource(mStimuli.eResource());
+ if (mStimuli.getStimuliModel() != null) {
+ writeResource(mStimuli.eResource());
+ }
+ }
+
+ if (mEvents != null) {
+ mEvents.setEventModel(inputModel.getEventModel());
+ inputModel.setEventModel(null);
+ if (mEvents.getEventModel() != null) {
+ writeResource(mEvents.eResource());
+ }
}
if (mConstraints != null) {
mConstraints.setConstraintsModel(inputModel.getConstraintsModel());
inputModel.setConstraintsModel(null);
- writeResource(mConstraints.eResource());
+ if (mConstraints.getConstraintsModel() != null) {
+ writeResource(mConstraints.eResource());
+ }
}
if (mMapping != null) {
mMapping.setMappingModel(inputModel.getMappingModel());
inputModel.setMappingModel(null);
- writeResource(mMapping.eResource());
+ if (mMapping.getMappingModel() != null) {
+ writeResource(mMapping.eResource());
+ }
}
if (mComponents != null) {
mComponents.setComponentsModel(inputModel.getComponentsModel());
inputModel.setComponentsModel(null);
- writeResource(mComponents.eResource());
+ if (mComponents.getComponentsModel() != null) {
+ writeResource(mComponents.eResource());
+ }
}
System.out.println("\ndone.");