From 1e91f7bc6c124671c6a67e56b808278ac33ec145 Mon Sep 17 00:00:00 2001
From: Kevin Kassin <kevinkassin@gmx.de>
Date: Mon, 18 Sep 2017 00:58:00 +0200
Subject: [PATCH] Commit 18.9 1:00 Uhr

refreshing a editors files is now the last thing done on saving the
editor,
deleted if-clause that was always false from code,
the transformation now allows relations in a group
---
 .../ui/graphitifeatures/ChangeConfigurationFeature.java  | 2 --
 .../org/framed/iorm/ui/multipage/MultipageEditor.java    | 2 +-
 .../src/org/framed/iorm/ui/util/EditorInputUtil.java     | 1 -
 .../epsilon/CompartmentType.etl                          | 2 +-
 org.framed.orm.transformation/epsilon/Group.etl          | 9 +++++++--
 5 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/org.framed.iorm.ui/src/org/framed/iorm/ui/graphitifeatures/ChangeConfigurationFeature.java b/org.framed.iorm.ui/src/org/framed/iorm/ui/graphitifeatures/ChangeConfigurationFeature.java
index 5123b3f2..49dfb212 100644
--- a/org.framed.iorm.ui/src/org/framed/iorm/ui/graphitifeatures/ChangeConfigurationFeature.java
+++ b/org.framed.iorm.ui/src/org/framed/iorm/ui/graphitifeatures/ChangeConfigurationFeature.java
@@ -82,8 +82,6 @@ public class ChangeConfigurationFeature extends AbstractCustomFeature  {
 			//Step 2
 			FRaMEDFeature framedFeature = FeaturemodelFactory.eINSTANCE.createFRaMEDFeature();
 			framedFeature.setName(FeatureName.getByName(editorFeature.getName()));
-			if(editorFeatureConfiguration.getManualFeatures().contains(editorFeature))
-				framedFeature.setManuallySelected(true);
 			framedFeatureConfiguration.getFeatures().add(framedFeature);	
 		}
 		//Step 3
diff --git a/org.framed.iorm.ui/src/org/framed/iorm/ui/multipage/MultipageEditor.java b/org.framed.iorm.ui/src/org/framed/iorm/ui/multipage/MultipageEditor.java
index b862e51c..318fb0e5 100644
--- a/org.framed.iorm.ui/src/org/framed/iorm/ui/multipage/MultipageEditor.java
+++ b/org.framed.iorm.ui/src/org/framed/iorm/ui/multipage/MultipageEditor.java
@@ -376,10 +376,10 @@ public class MultipageEditor extends FormEditor implements ISelectionListener, I
 			//check
 			if(editorFeatures != null)
 				editorFeatures.synchronizeConfigurationEditorAndModelConfiguration();
-			refreshFile();
 			boolean transformationSuccessful = transformModel();
 			if(!transformationSuccessful) throw new TransformationFailedException();
 			MultipageEditorSynchronizationService.synchronize();
+			refreshFile();
 		}
 	}	
 	
diff --git a/org.framed.iorm.ui/src/org/framed/iorm/ui/util/EditorInputUtil.java b/org.framed.iorm.ui/src/org/framed/iorm/ui/util/EditorInputUtil.java
index fea0d85e..c6598aec 100644
--- a/org.framed.iorm.ui/src/org/framed/iorm/ui/util/EditorInputUtil.java
+++ b/org.framed.iorm.ui/src/org/framed/iorm/ui/util/EditorInputUtil.java
@@ -29,7 +29,6 @@ public class EditorInputUtil {
 	 * @return the generated editor input
 	 */
 	public static IFileEditorInput getIFileEditorInputForResource(Resource resource) {
-		System.out.println(resource);
 		IPath path = new Path(resource.getURI().toFileString());
 		IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
 		return new FileEditorInput(file);
diff --git a/org.framed.orm.transformation/epsilon/CompartmentType.etl b/org.framed.orm.transformation/epsilon/CompartmentType.etl
index 95b03482..32ca75e4 100644
--- a/org.framed.orm.transformation/epsilon/CompartmentType.etl
+++ b/org.framed.orm.transformation/epsilon/CompartmentType.etl
@@ -58,7 +58,7 @@ rule CompartmentType
 				n.getRelationships().add(e);
 			} else if ( e.instanceOf(target!RoleInheritance)) {
 				t.~parent.relations.add(e);
-			} 		
+			} 
 		}
 	}
 	
diff --git a/org.framed.orm.transformation/epsilon/Group.etl b/org.framed.orm.transformation/epsilon/Group.etl
index a2b0438a..81908839 100644
--- a/org.framed.orm.transformation/epsilon/Group.etl
+++ b/org.framed.orm.transformation/epsilon/Group.etl
@@ -8,10 +8,15 @@ rule Group
 	
 	var children = s.`model`;
 	if (not (children == null)) {
-		for(e in children.elements) e.~features=s.~features;
+		for (e in children.elements) e.~features=s.~features;
 		for (elem : source!ModelElement in children.elements) {
 			var e = elem.equivalent();
-			if(not(e==null))t.getElements().add(e);
+			if(e.instanceOf(target!Inheritance) or
+			   e.instanceOf(target!Fulfillment)) {
+				if(not(e==null)) t.getRelations().add(e);	
+			} else {
+				if(not(e==null)) t.getElements().add(e);
+			}
 		}
 	}
 	
-- 
GitLab